
私の設定:
# grep php /etc/httpd/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
AddType x-httpd-php .php
AddHandler php5-script .php
# grep PHP /etc/httpd/conf/httpd.conf
PHPIniDir /etc/
# grep open_tag /etc/php.ini
; short_open_tag
short_open_tag = On
# /etc/init.d/httpd start
Starting httpd: [Tue Dec 04 03:26:29 2012] [warn] module php5_module is already loaded, skipping
httpd: apr_sockaddr_info_get() failed for holdsworth
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]
# cat /var/log/httpd/error_log
[Tue Dec 04 03:26:37 2012] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Tue Dec 04 03:26:37 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Dec 04 03:26:37 2012] [warn] module php5_module is already loaded, skipping
[Tue Dec 04 03:26:45 2012] [notice] Digest: generating secret for digest authentication ...
[Tue Dec 04 03:26:45 2012] [notice] Digest: done
[Tue Dec 04 03:26:53 2012] [warn] ./mod_dnssd.c: No services found to register
[Tue Dec 04 03:26:53 2012] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 configured -- resuming normal operations
[Tue Dec 04 03:28:35 2012] [notice] caught SIGTERM, shutting down
access_logが空です。 index.phpを開くと内容が表示されます。
[root@holdsworth steve]# ls -lah /var/www/html/php/index.php
-rwxrwxrwx. 1 root root 1.7K Oct 31 18:38 /var/www/html/php/index.php
答え1
どちらもお持ちのようです。数を実行そしてSELinux有効になっているため、実行を許可するように変更する必要があります。PHPスクリプト、確認の開始コンピュータグラフィックス画像処理許可されるスクリプト:
getsebool -a | egrep 'cgi|builtin_scriptin'
そうでない場合:
setsebool -P httpd_enable_cgi 1
setsebool -P httpd_builtin_scripting 1
また、PHPスクリプトに必要な拡張フラグがあること、Apacheプロセスが所有していること、SElinuxとsuEXECの両方を満たすように実行可能であることを確認してください。
ls -lZ *.php
chcon -t httpd_sys_script_exec_t *.php
chmod +x *.php
chown xxxx:yyyyyy *.php
ls -l *.php
または、パブリックサーバーでない場合は両方を無効にします。
望むより:http://beginlinux.com/server_training/web-server/976-apache-and-selinux
答え2
まず、2番目にmod_phpがロードされる場所を見つける必要があると思います。
[warn] module php5_module is already loaded, skipping
私は警告メッセージを含むApache設定ファイルを強く信じています。時には警告メッセージが言うよりも多くの意味があります。
次に、mod_phpにファイルを解析する別の方法を試してみてください。
<IfModule php5_module>
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
最後に考えてみましょうどこmod_phpにディレクティブを入れます。 VirtualHostディレクティブがある場合は、そこでmod_phpを有効にする必要があります。
答え3
設定ファイルを使用し、ファイルの末尾に以下を追加しましたhttpd.conf
。addType
、、、AddHandler
。PHPIniDir
CentOS 5では表示されずに動作しますindex.php
。
答え4
解決策はブラウザキャッシュを消去することです。つまり、CTRL- を押すことです。F5
phpは動作しますが、ブラウザで古いバージョンのphpコンテンツを提供しています。