index.html将执行PHP代码

我有一个服务器与suPHP,Apache2和PHP5.4。

我注意到一个文件index.html将执行PHP代码,而test.html将不执行PHP代码。 当然,我不希望PHP代码在index.html文件中执行。

我不知道应该在哪里find问题。 我没有在我的configuration中find一个位置,我将php-handler分配给一些非* .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> 

检查您的.htaccess文件以下,因为你可以在那里打开php解释:

 AddType application/x-httpd-php .html .htm 

如果这不起作用,请执行stringsearch。 它很可能是在某个地方打开。

 grep -rnw 'web_directory_here' -e "x-httpd-php" 

如果您在任何地方find了AddType,请将其删除。

==

更新:另一个地方检查是你的Apache的MIMEtypes,以确保没有被设置为PHP的HTML。 确保html不在下面的任何一行上。

 check in httpd/conf application/x-httpd-php phtml php php3 php4 php5 php6 application/x-httpd-php-source phps 

你引用你的mods-available / php5.conf。 是你的mod_php5启用,那是你有一个/etc/apache2/mods-enabled/php5.load? 如果是这样,请尝试a2dismod php5 ,因为不build议同时启用suphp和mod_php,至less不能全局启用。 另外在你的index.html中尝试一下phpinfo()来确定哪个模块正在处理请求。