
私は suPHP、Apache2、PHP5.4 を搭載したサーバーを持っています。
ドキュメント index.html は PHP コードを実行しますが、test.html は PHP コードを実行しないことに気付きました。もちろん、index.html ファイル内で PHP コードが実行されることは望ましくありません。
問題を見つけるためにどこを調べればよいかわかりません。設定の中で、php ハンドラーを *.php 以外のファイルに割り当てる場所が見つかりませんでした。
これが私のmods-available/suphp.confです
<IfModule mod_suphp.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-suphp
</FilesMatch>
suPHP_AddHandler application/x-httpd-suphp
# suPHP_PHPPath /usr/bin/php
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
# Order allow,deny
# Allow from all
</FilesMatch>
AddType application/x-httpd-php-source .phps
suPHP_AddHandler application/x-httpd-php-source
# AddHandler application/x-httpd-php-source
<Directory />
suPHP_Engine on
</Directory>
# By default, disable suPHP for debian packaged web applications as files
# are owned by root and cannot be executed by suPHP because of min_uid.
# Benötigen wir für Nagios3
# <Directory /usr/share>
# suPHP_Engine off
# </Directory>
# # Use a specific php config file (a dir which contains a php.ini file)
# suPHP_ConfigPath /etc/php5/cgi/suphp/
# # Tells mod_suphp NOT to handle requests with the type <mime-type>.
# suPHP_RemoveHandler <mime-type>
</IfModule>
これが私のmods-available/php5.confです
<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
# <IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_value engine Off
# </Directory>
# </IfModule>
</IfModule>
答え1
.htaccess ファイルで次の内容を確認してください。そこで PHP 解釈が有効になっている可能性があります。
AddType application/x-httpd-php .html .htm
それでもうまくいかない場合は、文字列検索を行ってください。どこかでオンになっている可能性が高くなります。
grep -rnw 'web_directory_here' -e "x-httpd-php"
どこかに AddType が見つかった場合は、削除します。
==
更新: 確認するもう 1 つの場所は、Apache MIME タイプで、html が php に設定されていないことを確認します。以下のどちらの行にも html がないことを確認してください。
check in httpd/conf
application/x-httpd-php phtml php php3 php4 php5 php6
application/x-httpd-php-source phps
答え2
mods-available/php5.conf を引用しています。mod_php5 は有効になっていますか? つまり、/etc/apache2/mods-enabled/php5.load がありますか? 有効になっている場合は、 を試してください。a2dismod php5
少なくともグローバルには、suphp と mod_php の両方を同時に有効にすることは推奨されません。また、index.html で phpinfo() を試して、どのモジュールがリクエストを処理しているかを調べてください。