• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Apacheでphpが急に動かなくなった)

Apacheでphpが急に動かなくなった

このQ&Aのポイント
  • Apacheでphpが急に動かなくなった。php自体は生きているが、Apacheで動かなくなり、ブラウザでアクセスするとソースコードが表示されてしまう。
  • ネットで調べると、httpd.confの編集が必要で、LoadModule php5_module modules/libphp5.so の記述が必要とあるが、該当のファイルは存在しない。
  • Linuxの操作には慣れていないため、どうしたらいいかわからない。CentOS4.5 - Apache 2.0.52 - php 5.1.6を使用している。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

PHPが動くのは当たり前と言えば当たり前です。 PHPは別にApacheがなくても動作します。 WebアクセスでPHPスクリプトを動作させたい際に、WebサーバつまりApacheと PHPを連携させる設定を行うわけですので、現在はその連携が正しくない状態 だと思われます。 PHPはどのようにしてApache上で動作させているのでしょうか? LoadModuleの記述を行った記憶がないならば、CGIもしくはFastCGIで動いているのではないでしょうか。 もしそうであれば、このあたりの説明を見ると解決するかもしれません。 http://kajuhome.com/apache.shtml http://www.softel.co.jp/blogs/tech/archives/2100 mod_cgi.soとかmod_fcgid.soがhttpd.confのLoadModuleで有効になってませんかね? とか、設定しようとした残骸が残ってたり。

mshs2
質問者

お礼

ありがとうございます。 LoadModule cgi_module modules/mod_cgi.so は、確かにありました。 mod_fcgid.soの方は、ありませんでした。 で、現状はApacheからはphpが動かない状態です。 具体的に、ここからどうすれば元の様に動く状態に戻せますでしょうか? 頼ってばっかですみませんが、教えてください、お願いします。

mshs2
質問者

補足

解決しました。 別のApacheが動いていました。 Apacheが複数存在なんてするのでしょうか?? 本来のApacheのhttpd.confには、正しくphpのLoadModuleが記述されていました。 そして、本来のApacheを再起動したら直りました。 全く見当違いのApacheとそのconfファイルを見ていたようです。 しかし、なぜ複数あったのでしょうか。

その他の回答 (1)

回答No.1

LoadModuleの記述があるにも関わらず、Apacheの再起動を行っても エラーにならないということは、libphp5.soは恐らく存在します。 その上でPHPコードが生で出るということは、MIMETypeが設定されて いないからと思われます。 Windows機の説明になっていますが、編集するAddTypeの箇所は同じです。 http://www.adminweb.jp/apache/docroot/index4.html

mshs2
質問者

お礼

ありがとうございます。 LoadModule php5_module modules/libphp5.so の行は、httpd.confには現状 記述されていません。 「その行が必要だ」という情報をネットで見つけただけです。 また、ibphp5.soは、検索しても見つからなかったので、無いと思います。。。 困りました。 既に動いているシステムなので Apacheと関係ないところで動いているphpなどが使えなくなる可能性を考え安易に再インストールもできません。 よろしくお願いします。