特定ファイルのみphp5で動作させる
php4で動いている環境で、ちょっとしたページを作る必要があった。今となっては数ページの単純なフォームでもフレームワークを使った方が楽に作れるので、フレームワークを使うことにした。
しかしLaizはPHP5用に書き直したのでphp5を入れる必要がある。そこで既存のページ群にフロントコントローラを置いて、そのファイルだけphp5で動かすように設定した。
sargeなのでsources.listにphp5用の設定を追加する。
# php5.1 deb http://people.debian.org/~dexter php5.1 sarge deb-src http://people.debian.org/~dexter php5.1 sarge
そして関連パッケージをインストール。
apt-get install php5.1-cgi php5.1-mbstring
あとはapacheの設定。
vi /etc/apache2/site-available/example.com
<VirtualHost *:80> DocumentRoot "/home/example/public_html" ServerName example.com ServerAlias www.example.com ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <FilesMatch "form\.php"> AddHandler php5-script .php Action php5-script /cgi-bin/php5.1 Options ExecCGI FollowSymLinks </FilesMatch> </VirtualHost>
a2ensite example.com a2enmod actions /etc/init.d/apache2 restart
これでform.phpのみphp5で動くようになる。その後は通常通りform.phpからフレームワークを読み込めば良い。