dポイントプレゼントキャンペーン実施中!

今まで普通に動いていたのですが、何かをきっかけに動かなくなりました。
php自体は生きていますが、Apacheで動かなくなり、ブラウザでアクセスするとソースコードがそのまま表示されてしまうようになってしまいました。

ネットでいろいろ調べると、httpd.confの編集が必要で、
LoadModule php5_module modules/libphp5.so
の記述が必要とありましたが、
そもそも、libphp5.so などというファイルは存在しません。
でもphpは動いています。

どうしたらいいかわかりません。Linuxの操作には慣れていません。
よろしくお願いします。(CentOS4.5 - Apache 2.0.52 - php 5.1.6)

A 回答 (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で有効になってませんかね?
とか、設定しようとした残骸が残ってたり。

この回答への補足

解決しました。

別のApacheが動いていました。
Apacheが複数存在なんてするのでしょうか??

本来のApacheのhttpd.confには、正しくphpのLoadModuleが記述されていました。
そして、本来のApacheを再起動したら直りました。

全く見当違いのApacheとそのconfファイルを見ていたようです。
しかし、なぜ複数あったのでしょうか。

補足日時:2013/11/26 04:14
    • good
    • 0
この回答へのお礼

ありがとうございます。

LoadModule cgi_module modules/mod_cgi.so
は、確かにありました。
mod_fcgid.soの方は、ありませんでした。

で、現状はApacheからはphpが動かない状態です。

具体的に、ここからどうすれば元の様に動く状態に戻せますでしょうか?

頼ってばっかですみませんが、教えてください、お願いします。

お礼日時:2013/11/25 21:21

LoadModuleの記述があるにも関わらず、Apacheの再起動を行っても


エラーにならないということは、libphp5.soは恐らく存在します。

その上でPHPコードが生で出るということは、MIMETypeが設定されて
いないからと思われます。
Windows機の説明になっていますが、編集するAddTypeの箇所は同じです。
http://www.adminweb.jp/apache/docroot/index4.html
    • good
    • 0
この回答へのお礼

ありがとうございます。

LoadModule php5_module modules/libphp5.so
の行は、httpd.confには現状 記述されていません。

「その行が必要だ」という情報をネットで見つけただけです。

また、ibphp5.soは、検索しても見つからなかったので、無いと思います。。。
困りました。
既に動いているシステムなので
Apacheと関係ないところで動いているphpなどが使えなくなる可能性を考え安易に再インストールもできません。

よろしくお願いします。

お礼日時:2013/11/25 18:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!