php5
Vine Linux独自の仕様
strict sessionパッチを独自にPHP-5.3.xに対応させたものを適用しています。(5.5.2〜5.5.4にてupstreamに同等機能が入ったため削除)
bug#60373修正をrevert。(upstreamにて修正されたため削除)
Vine LinuxではZTSを有効にしていないのでこのバグは発現せず、error_logのタイムスタンプがUTCに固定されてしまう( bug#60723)害の方が大きいためrevertしました。
初期設定
Vine LinuxのPHPでは。Web経由での利用法に以下の3通りを用意しています。
- ApacheにDSOモジュールとして組み込む
- Apache管理下のFastCGIプロセスとして動作
- 独立起動のFastCGIプロセスとして動作(nginx, lighttpd等からの利用)
Apache2モジュールを利用する場合
VinePlusで提供しているphp5-apache2パッケージでは、Apacheをprefork MPMで起動していないと動作しません。
- 以下のパッケージをインストールする。
- 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推奨)。
- 以下のパッケージをインストールする。
- apache2
- mod_fcgid-apache2
- php5 (php5-apache2は不要)
- /etc/apache2/conf.d/mod_fcgid.confを以下のように編集する。
<IfModule !mod_fcgid.c>
LoadModule fcgid_module modules/mod_fcgid.so
</IfModule>
<IfModule mod_fcgid.c>
FcgidIPCDir /tmp/fcgid_sock/
</IfModule>
- httpd.confの必要な箇所(バーチャルホスト定義内、等)に以下の記述を追加する。
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php
FcgidWrapper /usr/bin/php5-cgi .php
</IfModule>
nginxでFastCGIを利用する場合
- 以下のパッケージをインストールする。
- nginx設定ファイルの必要な箇所(http, server, locationブロック)に以下の記述を追加する。
location ~ \.php(/.*)?$
{
include php_params;
}
- 必要に応じて/etc/php5/php-fpm.conf, /etc/php5/fpm.d/*の設定を変更する。