PHPについて
使えるバージョン
○PHP4(CGI)
○PHP5(CGI)
○PHP5+fastCGI
○自分でインストールしたPHP
私のお勧めは、PHP5(CGI)です。
使える関数など(GD・mbstring使える?
PHPinfo()ページを示しておきます。必要なのがあるかチェックしてください。
基本的なのはそろっていると思います。
PHP4:http://php.dreamhosters.com/php4-cgi/
PHP5:http://php.dreamhosters.com/php5-cgi/
PHP5+FastCGIを使う方法。
まずはじめに、FastCGIはPHP4では使えません。PHP5でのみ使用可能です。
<手順>
1、コントロールパネルでPHP5を選ぶ。
2、コントロールパネルでFastCGIにチェックを入れて有効にする
3、「php5-wrapper.fcgi」というファイルを以下の内容で作る。
#!/bin/sh
export PHP_FCGI_CHILDREN=3
exec /dh/cgi-system/php5.cgi
4、「.htaccess」ファイルに以下を追記
AddHandler fastcgi-script fcg fcgi fpl
AddHandler php5-fastcgi .php
Action php5-fastcgi /php5-wrapper.fcgi
5、アップロード
「php5-wrapper.fcgi」、「.htaccess」を動かしたい公開フォルダにアップロード
普通は、ドメイン名のフォルダにアップロードすれば良いと思います。
パーミッションを「php5-wrapper.fcgi」は744、「.htaccess」は644にしてください。
6、動作確認
SSHでログインして「ps aux」で、FastCGIプロセスが3つあることを確認してください。
[dinar]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 682 0.0 0.1 17180 6148 ? Ss 15:27 0:00 /dh/cgi-system/php5.cgi
user 21117 0.1 0.3 23872 11924 ? S 15:27 0:00 /dh/cgi-system/php5.cgi
user 7576 0.0 0.3 23872 11920 ? S 15:27 0:00 /dh/cgi-system/php5.cgi
user 23783 0.5 0.0 2632 1500 pts/7 S 15:30 0:00 -bash
user 20840 0.0 0.0 2488 860 pts/7 R+ 15:30 0:00 ps aux
詳しい説明は以下のページを参考にしてください(英語)、
http://wiki.dreamhost.com/index.php/PHP_FastCGI
module版PHPは使えないの?
Apache module版のPHPは、2006年の春に提供中止になっています。
高速にPHPを動かしたいなら代わりに、PHP5+FastCGIを使ってほしいそうです。
ちなみに、中止した理由ですが、Apache module版だと、Dreamhost管理人がユーザごとのPHP負荷を計測するのが不可能なのが原因だそうです。過去に、悪質な超高負荷PHP(modeule版)で鯖が重くなったときに、原因スクリプトを突き止めるのに時間がかかり、、他のユーザに迷惑がかかりそうになった事があったらしいです。ですからみんなのメリットを考えて提供中止にしたようです。
PHP4がお勧めできない理由
PHP4(CGI)版のPHPinfo()をよく見ると分かりますが、一部標準的ではない仕様があります。
| 変数 | 値 |
| $_SERVER['SCRIPT_NAME'] | 'cgi-system/php.cgi' |
| $_SERVER['SCRIPT_FILENAME'] | '/dh/cgi-system/php.cgi' |
本来は設置しているスクリプト名が値として返ってくるものです。このため、動作しなくなるPHPスクリプトがあります。
解決方法ですが、PHPスクリプトのソースコードの中のSCRIPT_NAMEやSCRIPT_FILENAMEを実際のスクリプト名に書き換えれば動きます。
面倒ですし、PHP5に対応しているのならPHP5を使うのが良いと思います。
他の方法として、自分でオプションを指定して、PHP4をインストールすることもできます。
http://wiki.dreamhost.com/index.php/Installing_PHP4 (英語)