Home > All > PHPをCGIモードで動かす

PHPをCGIモードで動かす

August 22nd, 2009 Leave a comment Go to comments

何でこんなことになったのか…

ふとML115のApache2を見ると、それはpreforkだった
preforkはシングルスレッドで動作するモードだ
マルチスレッドの方がパフォーマンスいいんだからそっちを入れよう!
マルチスレッドに対応しているのはworkerなのだが、これにmod-phpが対応していないらしく、
workerを入れたらpreforkと一緒にmod-phpが消されてPHPが動かなくなった
かくして、仕方なくphp-cgiの設定をする羽目になったのである
ネットを彷徨っても断片的な設定しかなく、本当に辛かった
とりあえず自分が設定した内容をまとめておく

更新中は500エラーを返すなど、酷いことになっていたかと思います
申し訳ございませんでした

Debian lennyの場合

# aptitude install php5-cgi apache2-mpm-worker
# a2enmod cgid
# a2enmod actions
# vim /etc/apache2/conf.d/php-cgi.conf
--------------------------------------------------------
下記内容で保存
<IfModule modactions.c>
  Action application/x-httpd-php /cgi-bin/php5
</IfModule>
--------------------------------------------------------

ここまでの作業は
# gunzip /usr/share/doc/php5-cgi/README.Debian.gz
# less /usr/share/doc/php5-cgi/README.Debian
の内容を参照されたし

# vim /etc/apache2/sites-available/your-profile
--------------------------------------------------------
<VirtualHost *80>
~省略~
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options ExecCGI -MultiViews +FollowSymLinks
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>
--------------------------------------------------------
# /etc/init.d/apache2 restart

疲れた

関連記事:

Tags: ,
  1. No comments yet.
  1. No trackbacks yet.