Red Hat(カーネル2.6)でPHP 5.3.3からApache2.2.15まで)
ルートディレクトリにtest.phpというテストファイルがあります。
<?
phpinfo();
?>
ブラウザでこのファイルを指定すると、このソースが解釈されずに送信されます。
ログにはエラーは表示されず、アクセスログには標準のエントリがあります。
xx.xx.xx.xx - - [29/Nov/2012:10:26:56 -0500] "GET /test.php HTTP/1.1" 200 17 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.91 Safari/537.11"
私の構成ファイルには次の行があります。
/etc/httpd/conf/httpd.conf
...
Include conf.d/*.conf
...
/etc/httpd/conf.d/php.conf
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps
起動時にエラーは記録されません。これは、モジュールが実際に正しくロードされていることを示しています。
これはすべてすぐに使用できる構成なので、これが機能するだけではないことに本当に驚いています。何か案は?
ため息何時間も検索しても何も見つからないのはなぜですか。しかし、SOに投稿してから2分後に答えが得られますか?
そのため、そのテストファイルをコピーしたサイトでは、短いタグがデフォルトでオフになっていることを考慮していませんでした。テストファイルをに変更する
<?php
phpinfo();
?>
すべてを修正しました。