2008年7月14日月曜日

こんなことまで忘れてしまうのかと

そう思うとちょっと憂鬱だが。

apache2でphpを動かしたい


・事の起こり
php ファイルを作成し、ブラウザにURL打ち込んだらファイルがDLされた。

・確認1
php5.conf、php5.load: enmodされてないどころかavailableに存在してない。

・実行
apt-get install libapache2-mod-php5

・確認2
php5.conf、php5.load: 共にenmodにavailableへのリンクあり。けどやっぱりダウンロードされる。

・実行
apache2 restart

・確認3
これでブラウザからもPHPの実行が確認された。

今回の備忘ポイントは追加するモジュールの名前「libapache2-mod-php5」だな。

2011/07/25 追記
「ドキュメントルート配下ではPHPが動作するが、UserDirでは動作しない」という現象が確認された。
調べてみると mods-enabled/php5.conf の設定に原因があるらしい
     12         <Directory /home/*/public_html>
     13             php_admin_value engine Off
     14         </Directory>
このへんが見るからに怪しいので「php_admin_value engine On」と修正してapacheを再起動する。
結果、動作は変わらず。PHPファイルがダウンロードされる。
よく見るとその直前に
      8     # To re-enable php in user directories comment the following lines
      9     # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
     10     # prevents .htaccess files from disabling it.
     11     <IfModule mod_userdir.c>
     12         <Directory /home/*/public_html>
と書いてあるではないか。なので、とりあえず「php_admin_value engine Off」をコメントする。
apacheを再起動すると、期待通りPHPが実行されるようになった。
コメント行の記述にあるようにIfModule全体をコメントしたほうが処理は軽くなるはずなので、
運用は全体をコメントアウトしよう。

1 件のコメント:

琥珀 さんのコメント...

これは ubuntu 8.0.4 の話でした。