Squeezeで、userdir のPHP
気がつくのが遅れたが、Debian 6.0.0 「squeeze」では、はじめ userdir (典型的には各ユーザの public_htmlディレクトリ以下)での PHP(5) の実行が有効になっていなかった。.phpファイルを置いてもその儘ファイルとしてダウンロードさせようとする。
/etc/apache2/mods-enabled/php5.conf を見る。
<IfModule mod_php5.c> <FilesMatch "\.ph(p3?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> # To re-enable php in user directories comment the following lines # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it # prevents .htaccess files from disabling it. <IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule>
確かにその様な記述がある、それに従い該当部分をコメントアウト。
#<IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> #</IfModule>
アパッチ リスタート。なってる。
php_admin_value name value
http://jp.php.net/manual/ja/configuration.changes.php
これはアパッチの設定ファイルで PHPの設定を書いてやる機能、admin なので後で変えられない。
この userdir での PHP無効設定について、先に PHP側の設定を見に行ってしまうとここで上書きされるのに気付かずハマりそう。
engine boolean
PHP: 実行時設定 - Manual
Apache設定オプション、PHPの有効無効の切り替え