タグ

PHPに関するNan_Homewoodのブックマーク (28)

  • Re: WebサーバーアーキテクチャとPHP実行方式の理解から始めるphp-fpmとはなにか?

    この記事のモチベーション 「php-fpmとはなにか?」を知るため、PHPのドキュメントを見ました。 しかし、ここに書いていることはまあそうなのですがあまりに焦点が絞られ過ぎてて「php-fpmとはなにか?」に対する答えとしては少し不十分な気がしていました。 例えるなら数学の問題に答えるにあたって、途中式を飛ばしたり証明の過程を飛ばしたりというような感じ。 不十分というのは、それを理解するための段階をすっ飛ばして答えだけが書かれている状態のことを指しています。 その不十分なところを自分も曖昧にしか理解できていない気がしており、いい機会なので整理しておこうというのがこの記事のモチベーションです。 そのためこの記事は、「php-fpmとはなにか?」をプロセス→Webサーバー→実行方式と順を追って説明していく構成になっています。 「細けぇこたぁいいんだ、おらぁ今すぐ答えだけ知りてぇンダ」という方

    Re: WebサーバーアーキテクチャとPHP実行方式の理解から始めるphp-fpmとはなにか?
  • PHP Web Application Performance Tuning

    https://phperkaigi.jp/2021

    PHP Web Application Performance Tuning
  • PHPを用いて、MySQLのデータをGoogle Chart Toolsで描画してみました - Mi in progress

    お久しぶりです。気づいたら前回の投稿から3週間くらい経ってしまいました。 相変わらず、バイトでたくさんコーディングしています(`・ω・*)b 今日はタイトル通り、PHPMySQLからデータを引っ張ってきて、それをGoogle Chart Toolsと組み合わせてブラウザ上で描画した話です。検索しても古い記事しか出てこなくてかなり四苦八苦したので、今後の自分のためのメモとして、書くことにしました。 Google Chart Toolsとは - Charts  |  Google Developers Googleが公開しているAPIで、これを用いればデータを簡単にブラウザ上で描画することが出来ます。JavaScriptで記述します。 目的 ・PHPを用いて、MySQLのデータをGoogle Chart Toolsで描画する 苦労したこと ・参考にしたこちらの記事 Google Chart

    PHPを用いて、MySQLのデータをGoogle Chart Toolsで描画してみました - Mi in progress
  • WordPress 4.7.1 の権限昇格脆弱性について検証した

    エグゼクティブサマリ WordPress 4.7と4.7.1のREST APIに、認証を回避してコンテンツを書き換えられる脆弱性が存在する。攻撃は極めて容易で、その影響は任意コンテンツの書き換えであるため、重大な結果を及ぼす。対策はWordPressの最新版にバージョンアップすることである。 稿では、脆弱性混入の原因について報告する。 はじめに WordPress体に久しぶりに重大な脆弱性が見つかったと発表されました。 こんな風に書くと、WordPressの脆弱性なんてしょっちゅう見つかっているという意見もありそうですが、能動的かつ認証なしに、侵入できる脆弱性はここ数年出ていないように思います。そういうクラスのものが久しぶりに見つかったということですね。 WordPress、更新版で深刻な脆弱性を修正 安全確保のため情報公開を先送り Make WordPress Core Conten

    WordPress 4.7.1 の権限昇格脆弱性について検証した
  • CentOS6.0 リモートからphpのexecでShutdown : 事象の水平線 :

    バックアップをcron.dailyとrsyncで自動化して、うかつにコマンドラインからshutdown -h now出来ないので、もっとお気楽で安全に電源を切れるようにウェブ上からスクリプトを走らせることにした。 で、phpでやろうと思ったけど、phpなんて当の昔(←あほime変換:疾うの昔と書くらしい)に忘れてしまったので、色々調べるとビンゴなポストが 『LinuxQuestions.org』さんの『Shutdown the System remotely via PHP-Script?』 英語読むのってめんどくさい・・・でも、文字数少なくて助かった;; が、このままではうんともすんとも言わない。正確には、echo exec("whoami");とかphpの中に埋め込めばHTMLには帰ってくるけど、exec('echo "test">/var/www/html/test.txt');とか

  • ざっくりFuelPHPの使い方 - Qiita

    書いてる人 プログラミング学習サービスやら、ペットサロン予約サービス、風俗検索サービスなど色々とやっている「かずきち」です。 ■運営サービス一部 http://crazy-wp.com/ http://webukatu.com/ 新宿のホストから不動産・保険の営業を経て、HTMLって何?という状態から3ヶ月独学でプログラミングやデザインを学び、IT業界で1年間実務経験を積んで年収は1超え。現在は起業家としてサービス運営やら不動産運営をしています。 Qiita内にそれ系の記事も書いてます。 エンジニアで稼ぐために大切な13のコト WEBサービス起業したい人に読んで欲しい18のコト fuelPHPまとめ 環境はMac&MAMPを使ってる前提でまとめてます。 FuelPHPは1.7.2を使用。 インストール 1.クイックインストーラをインストールする

    ざっくりFuelPHPの使い方 - Qiita
  • 安全なPHPアプリケーションの作り方2014

    Internet Week 2010 S3 今日こそわかる、安全なWebアプリの作り方2010 http://www.nic.ad.jp/iw2010/program/s3/

    安全なPHPアプリケーションの作り方2014
  • よくわかるPHPの教科書 PHP5.5対応版のクロスサイト・スクリプティング

    たにぐちまことさんの よくわかるPHPの教科書がこのたび改版されて、よくわかるPHPの教科書 【PHP5.5対応版】として出版されました。旧版はmysql関数を使ってSQL呼び出ししていましたが、mysql関数がPHP5.5にて非推奨となったための緊急対処的な内容となっているようです。つまり、従来mysql関数を呼び出していた箇所をmysqliの呼び出しに変更したというのが、主な変更点のようで、これ以外はあまり変更点は見あたりません。 既に、Amazonでは、熱烈な読者の方からの詳細のレビューが届いています。 神御降臨! 言わずと知れたPHPプログラミング書籍のロングセラー。 2010年9月に発売された前作の改訂版。 PHPのバージョンも最新の5.5に対応、内容は前作と殆ど同じ。 少し前に前作を購入した方も書を購入した方がいいでしょう。 【中略】 それにしても、帯の「3万人に読まれた定

  • ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記

    所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数

    ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記
    Nan_Homewood
    Nan_Homewood 2013/11/18
    お疲れ様でした。一般の方には伝わりにくいと思いますが大変な苦労があります。はい。
  • KOSHIGOE学習帳 - [php]オブジェクトの複製

    PHP: オブジェクトのクローン作成 - Manual オブジェクトの複写 PHP5では、オブジェクトはリファレンスとして扱われます。これはつまり、代入操作によって他変数にオブジェクトをコピーした場合は、両変数が指すオブジェクトが同一である事を意味します。 オブジェクト内の一部メンバを共有しながら、他メンバを独立させたい場合、cloneキーワードを利用してオブジェクトを複製する事が出来ます。 cloneキーワードによる複製の際、__cloneメソッドが呼び出されます。__cloneメソッドをクラス内で再定義(オーバーロード)する事で、複製操作をコントロールする事が可能になります。デフォルトでは、参照変数はそのまま同一アドレスを参照し、値変数は同値を渡して別アドレスを参照するようになります。 __cloneメソッドをオーバーロードせずに、デフォルトの挙動を見る事にします。 まず、クラス内に参

  • PHP 5.3の新機能と変更点 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    PHP 5.3の新機能と変更点 記事一覧 | gihyo.jp
  • もう面倒なユーザ認証機能は1から作らなくてよいかも?PHPのOSS「AuthManager」:phpspot開発日誌

    もう面倒なユーザ認証機能は1から作らなくてよいかも?PHPのOSS「AuthManager」 2012年08月13日- AuthManager - StitchApps もう面倒なユーザ認証機能は1から作らなくてよいかも?PHPのOSS「AuthManager」。 ユーザ認証型のサイトを1から作るとなると面倒な上に、もう誰かが良い物を作ってるんじゃないかという事を誰もが作り直してる気がします。 こういうもの自体をオープンソースにしちゃって誰もが使えるっていうのは素晴らしいですね。 Facebookによる認証やreCAPTCHAによるスパム防止、メールアドレスの認証機能といった標準で必要な機能が入っており、便利に使えそう。 で、ユーザ登録できるのはいいんだけど、肝心の制限はどうやってかけるの?というところは、次のように簡単にやってね、ということらしくお手軽。 ($sesslife自体がどこか

  • CentOS 6.2にphp-mcryptをインストール

    IT関連ネタを中心とした、彷徨えるウェブプログラマー技術メモ

    CentOS 6.2にphp-mcryptをインストール
  • AES暗号のまとめ - Y's note

    AESとは 共通鍵暗号方式の一つ。http://ja.wikipedia.org/wiki/AES暗号 共通鍵暗号方式にはブロック暗号とストリーム暗号が存在し、AESはブロック暗号方式。 ブロック暗号方式は固定長のブロックデータを単位として処理をする。 一般的にブロック暗号方式は公開鍵暗号方式に比べて高速と言われている。 ブロック暗号方式のモードはいくつか存在し、以下のページに詳しく載っている。http://www.triplefalcon.com/Lexicon/Encryption-Block-Mode-1.htm http://ja.wikipedia.org/wiki/暗号利用モード ブロックモードはCBC(暗号文ブロック連鎖モード)等が一般的で、CBCは前のブロックの暗号化された値を次のブロックの暗号化に利用する。最初のブロックの暗号を行う場合、最後のブロックかIV(Initia

    AES暗号のまとめ - Y's note
  • phpizeを使うには…じゃなくて、yumで入れたPHPにsqlite2を追加する。 - American Life in the Summertime

    忘れないようにメモ。 社内で勝手に使ってるVMwareのOSがcentOS5なんだけど、phpsqlite2が使えないので、インストールしようと思ったら、phpizeが使えなくてさ。*1 yum -y install php-devel こいつをインストールすることを忘れないように。 パッケージで入れたPHP 5に最新版sqlite拡張を入れる - 肉とご飯と甘いもの @ sotarok ここを参考に… cd php-X.X.X/ext/sqlite phpize ./configure make make install iniファイルを書く。 vi /etc/php.d/sqlite.ini このiniファイルは誰も作ってくれないので、自分で書く…らしい。 extension=sqlite.so Apacheをリロードしておしまい。 *1:なぜSQLite3じゃないんだ?というツッコ

    phpizeを使うには…じゃなくて、yumで入れたPHPにsqlite2を追加する。 - American Life in the Summertime
  • PHPUnitでできる単体テスト

    はじめに 単体テストとは、システムの構成要素であるクラスやメソッド単位での動作を確認する作業のことを言います。 Webシステムは基的に不特定多数に公開するものであり、公開前にはきちんとテストを行っておくことが重要です。 PHPにはテストツールとしてPHPUnitという単体テストのツールがあり、PHPUnitを利用するとクラス内のメソッドに対してテスト用のクラスを自動で生成し、効率よくテストすることができます。 PHPUnitを利用して単体テストする場合のプロセスは テスト対象となるクラス、PHPプログラムの作成 1.で作成したクラスからPHPUnit内のクラスを用いてテスト用のクラスを作成 2.で作成したテスト用のクラスに目的に応じてテストメソッドの実体を記述 テスト実行、結果の確認 となります。 記事では、連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテ

    PHPUnitでできる単体テスト
  • PHP: addslashes - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

  • CakePHP2.0の概要(訳) - 24時間CakePHP

    注意 この訳は現時点(2010/5/10)での暫定的なドキュメントの対訳になります。 完全な情報は、各セクションの先頭にある元ページ(英語)を参照してください。 これらの最新の対訳を1.3のときと同様に翻訳サイトにアップするかもしれません。そのときはこのブログやtwitterなどで告知します。(その後は、cookbookへ移行という流れになるでしょう) ロードマップ http://cakephp.lighthouseapp.com/projects/42648/2-0-development-roadmap ーここから対訳 以下はCakePHPの機能の「やっつけリスト」(訳注:"hit list")になります。 優先順位リスト E_STRICTへの準拠 適切なアクセス修飾子の適応とCake自身のアクセス修飾子違反の修正 PHP4ハック(訳注:PHP4にないPHP5の機能・振る舞いのためのハ

    CakePHP2.0の概要(訳) - 24時間CakePHP
  • TenFrontier Lab » cakephpの2.0と1.3系違いを比較してみた

    cakephpトップページのエクストラホットに2.0-devが出現したので今回2.0と1.3系のソースを比較してみました。 調査概要 ・今回は1.3系は1.3.7を使用 ・2.0-devは現在(2011/2/25)のものを使用 ・調査対象はappディレクトリとlibsディレクトリ 調査内容 ・それぞれのソースを比較し気になった部分をピックアップ 注意 ・短時間で多くの違いを見ていったので見落としや間違っている部分があると思います。 この記事が100%正しいという保証はありません。間違いなどあればご指摘して頂けると幸いです。 また、25日に調査したものであり今後ソースの内容が変更されていくものと思いますのでご了承ください 以下比較結果 全体 ・PHP5だけの対応になった cakephpの売りの一つ「PHP4とPHP5」の両方に対応しているということですが 2.0ではPHP5オ

  • PHP: parse_ini_file - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su