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 の話でした。
コメントを投稿