Apache httpdはCentOS 7でPHPを解析できません。

Apache httpdはCentOS 7でPHPを解析できません。

新しいCentOS 7サーバーを設定していますが、

私はApache httpdを正常にインストールし、htmlのスタートページを入手し、PHP 5.4をインストールしてテストページでテストしました。

<?php
phpinfo();
?>

/var/www/htmlに入れましたが、空白のページが表示されます。 Apacheのエラーログには次のように表示されます。

[Mon Jan 26 21:20:12.474636 2015] [:error] [pid 8352] [client ::1:60206] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/test.php' (include_path='.:/php/includes') in Unknown on line 0

私が試したことは次のとおりです。

私は以下を追加しました/etc/httpd/conf/httpd.conf

LoadModule php5_module "/usr/lib64/php"
AddType application/x-httpd-php  .php

発見:DirectoryIndex index.htmlそれから追加されましたindex.php

include_path='.:/php/includes'約束したことない/etc/php.ini

その後、Apacheを再起動します。変更なし!どんなアイデアがありますか?

修正する

私がチェックしたとき:apachectl configtest私は次のものを得ます:

[Mon Jan 26 22:22:49.748764 2015] [so:warn] [pid 4984] AH01574: module php5_module is already loaded, skipping
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

だから私のホストをリストしました。

[admin@localhost etc]$ cat hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

ServerName www.example.com:80それからhttpd.confで次に置き換えてServerName localhost4.localdomain4みました。ServerName localhost:80

しかし、問題は残っています。しかし、apachectl configtest結果は次のようになります。

[Mon Jan 26 22:49:46.968433 2015] [so:warn] [pid 5841] AH01574: module php5_module is already loaded, skipping
Syntax OK

とエラーログ:

[Mon Jan 26 22:58:27.110725 2015] [:error] [pid 6103] [client ::1:47747] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/test.php' (include_path='.:/php/includes') in Unknown on line 0

解決策

最後にphp54を削除し、次のようにしてPHPを再インストールすることにしました。

yum install php php-pear

ServerNameそれからconfを次に変更するとうまくlocalhost:80いきました!

時間をいただきありがとうございます。

ベストアンサー1

PHPを有効にした場合は、少し異なる項目がありますhttpd.conf

LoadModule php5_module /etc/httpd/modules/libphp5.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

私が観察したのは、上記の「LoadModule」ディレクティブがロードする.soファイルを指定しないことです。そのファイルがあるディレクトリや「.so」サフィックスのないファイル名だけでなく、特定の.soファイルも参照してください。

apachectl configtest実行すると何と出ますか?

おすすめ記事