= php5 = == Vine Linux独自の仕様 == * ~~[http://wiki.ohgaki.net/index.php?PHP%2Fpatch%2FStrictSession strict sessionパッチ]を独自にPHP-5.3.xに対応させたものを適用しています。~~(5.5.2〜5.5.4にてupstreamに同等機能が入ったため削除) * ~~[http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/main/main.c?r1=319750&r2=319823&pathrev=319823 bug#60373修正]をrevert。~~(upstreamにて修正されたため削除) * ~~Vine LinuxではZTSを有効にしていないのでこのバグは発現せず、error_logのタイムスタンプがUTCに固定されてしまう([https://bugs.php.net/bug.php?id=60723 bug#60723])害の方が大きいためrevertしました。~~ == 初期設定 == Vine LinuxのPHPでは。Web経由での利用法に以下の3通りを用意しています。 1. ApacheにDSOモジュールとして組み込む 1. Apache管理下のFastCGIプロセスとして動作 1. 独立起動のFastCGIプロセスとして動作(nginx, lighttpd等からの利用) === Apache2モジュールを利用する場合 === VinePlusで提供しているphp5-apache2パッケージでは、Apacheをprefork MPMで起動していないと動作しません。 1. 以下のパッケージをインストールする。 * apache2 * php5-apache2 1. Apacheをprefork MPMに切り替える。 {{{ $ sudo /sbin/update-alternatives --config apache2 2 プログラムがあり 'apache2' を提供します。 選択 コマンド ----------------------------------------------- + 1 /usr/sbin/apache2.worker * 2 /usr/sbin/apache2.prefork Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2 }}} === Apache2でFastCGIを利用する場合 === こちらではApacheのMPM制限はなく、お好みのものを利用できます (worker推奨)。 1. 以下のパッケージをインストールする。 * apache2 * mod_fcgid-apache2 * php5 (php5-apache2は不要) 1. /etc/apache2/conf.d/mod_fcgid.confを以下のように編集する。 {{{ LoadModule fcgid_module modules/mod_fcgid.so FcgidIPCDir /tmp/fcgid_sock/ }}} 1. httpd.confの必要な箇所(バーチャルホスト定義内、等)に以下の記述を追加する。 {{{ AddHandler fcgid-script .php FcgidWrapper /usr/bin/php5-cgi .php }}} === nginxでFastCGIを利用する場合 === 1. 以下のパッケージをインストールする。 * nginx * php5-nginx 1. nginx設定ファイルの必要な箇所(http, server, locationブロック)に以下の記述を追加する。 {{{ location ~ \.php(/.*)?$ { include php_params; } }}} 1. 必要に応じて/etc/php5/php-fpm.conf, /etc/php5/fpm.d/*の設定を変更する。