Por que o Apache está executando arquivos .php.html como PHP?

Eu tenho um problema estranho … Estou usando um gerador de documentação que gera muita saída como docs / foo.php.html. É XHTML e, portanto, contém tags no início do arquivo. O problema é que o Apache de alguma forma decidiu executá-lo através do intérprete do PHP, mesmo que “.php” apareça no meio do nome do arquivo e não no final. Isso, por sua vez, desencadeia um erro PHP, porque ele vê ” <? ” Como o comando para começar a executar o código PHP e imediatamente se confunde com o ” xml... ” que o segue.

Como faço para configurar o Apache para SOMENTE, execute arquivos .php e não arquivos .php.html? A string “php.html” não aparece explicitamente em qualquer lugar em meus arquivos de configuração Apache. Existe uma linha ” AddHandler php5-script .php “, mas não vejo como isso também includeá arquivos “.php.html”.

O problema parece estar no mod_mime .

Citação da página de documentação do Apache Mod_Mime:

Se você preferir apenas a última parte separada de pontos do nome de arquivo a ser mapeada para uma determinada meta-data, então não use as diretivas Add *. Por exemplo, se você deseja que o arquivo foo.html.cgi seja processado como um script CGI, mas não o arquivo bar.cgi.html, em vez de usar o AddGandler cgi-script .cgi, use

SetHandler cgi-script

Além disso, você pode google apache mod_mime "multiple extensions" google google para apache mod_mime "multiple extensions"

Você pode desativar as pequenas marcas do PHP – esta é a maneira recomendada de misturar PHP e XML.

http://us.php.net/ini.core

 short_open_tag = 0 

Os arquivos .html listados como sendo autorizados a serem analisados ​​como PHP? Eu vi alguns hosts compartilhados configurar arquivos .html para serem usados ​​como uma extensão de PHP válida que também pode estar pegando seus arquivos .php.html.