inicio fin etiquetas ejemplos ejecuta codigo bloque php html apache

etiquetas - inicio y fin en php



¿Por qué Apache ejecuta archivos.php.html como PHP? (3)

¿Están los archivos .html enumerados como permitidos para ser analizados como PHP? He visto algunos hosts compartidos configurar archivos .html para que se puedan usar como una extensión válida de PHP que también puede estar atrapando sus archivos .php.html.

Tengo un problema extraño ... Estoy usando un generador de documentación que genera muchos resultados como docs / foo.php.html. Es XHTML, y por lo tanto contiene etiquetas <?xml...> al principio del archivo. El problema es que Apache de alguna manera ha decidido ejecutarlo a través del intérprete PHP, aunque ".php" aparece en el medio del nombre del archivo, y no al final. Esto a su vez desencadena un error de PHP, porque ve " <? " Como el comando para comenzar a ejecutar el código PHP, e inmediatamente se confunde por el " xml... " que lo sigue.

¿Cómo configuro Apache para SOLAMENTE ejecutar archivos .php, y no archivos .php.html? La cadena "php.html" no aparece explícitamente en ninguna parte de mis archivos de configuración de Apache. Hay una línea " AddHandler php5-script .php ", pero no veo cómo eso también incluiría archivos ".php.html".


El problema parece estar en mod_mime .

Cita de la página de documentación mod_mime de Apache:

Si prefiere que la última parte del nombre del archivo separada por puntos se asigne a una parte concreta de los metadatos, no use las directivas Add *. Por ejemplo, si desea tener el archivo foo.html.cgi procesado como un script CGI, pero no el archivo bar.cgi.html, entonces, en lugar de usar AddHandler cgi-script .cgi, use

<FilesMatch /.cgi$>

SetHandler cgi-script

</FilesMatch>

Además, puede buscar en Google apache mod_mime "multiple extensions"


Podría desactivar las etiquetas cortas de PHP: esta es la forma recomendada de mezclar PHP y XML.

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

short_open_tag = 0