質問: debian/gnu linux v.3.1r1 + php4で phpが突然動作しない お世話になります。 debian/gnu linux v3.1r1で突然php4が動作しなくなってしまいました。 (ダウンロードしますか?となってしまう) 日経linux2006-1の特集2に記事を参考に、 aptitude install apache2 libapache2-mod-php4 php4-mysql mysql-server としてlamp環境を用意しました。 数日は正常に動作していたのですが、 (も正常に表示していました。) 突然上記の状況となりました。 実は、この現象は一度経験があり、その際は aptitude remove apache2 libapache2-mod-php4 php4-mysql mysql-server をして aptitude install apache2 libapache2-mod-php4 php4-mysql mysql-server をしたところ回復しました。 今回は、mysql内に若干データを入れたのでアンインストール&再インストールの手順は避けたいと思います。 aptitude remove apache2 libapache2-mod-php4 aptitude install apache2 libapache2-mod-php4 では解決しませんでした。 apache2のデフォルトページは見れるので、apache2は動作しているようです。 php4のモジュールがロードされる記述が見つけられないのですが、どういう仕組みでphp4のモジュールはロードされるのでしょうか。 また、そのほかにはどのような確認をしたらいいでしょうか。
回答: >にコピーしたところ(シンボリックリンクがわからなかったのでとりあえず) >phpが動作するようになりました。 ファイルを直接コピーされたようですが、ここはやはりdebian流にのっとって シンボリックリンク(windowsでいうところのショートカット)を張りましょう。 # ln -s /etc/apache2/mods-available/php4.conf /etc/apache2/mods-enabled/php4.conf # ln -s /etc/apache2/mods-available/php4.load /etc/apache2/mods-enabled/php4.load 但し、同じような作業を繰り返すのは面倒なので、モジュールの一覧から、シンボリックリンク を張ったり、削除してくれる便利なコマンドがdebianには用意されています。 ●シンボリックリンクを削除(モジュールを無効)してくれる、a2dismod コマンド # a2dismod which module would you like to disable? your choices are: cgi php4 userdir ← モジュールの一覧が表示される module name? php4 ← 無効にしたいモジュールを指定する module php4 disabled; run /etc/init.d/apache2 force-reload to fully disable. ●シンボリックリンクを張ってくれる(モジュールを有効)、a2enmod コマンド # a2enmod which module would you like to enable? your choices are: actions asis auth_anon auth_dbm auth_digest auth_ldap cache cern_meta cgi cgid dav dav_fs deflate disk_cache expires ext_filter file_cache headers imap include info ldap mem_cache mime_magic php4 proxy proxy_connect proxy_ftp proxy_http rewrite speling ssl suexec unique_id userdir usertrack vhost_alias ← モジュールの一覧が表示される module name? php4 ← 有効にしたいモジュールを指定する module php4 installed; run /etc/init.d/apache2 force-reload to enable.