No puedo usar PHP en mis páginas HTML. Por ejemplo index.html
,. Intenté usar ambos:
<? contents ?>
y
<?php contents ?>
Ninguno de estos funciona. Mi servidor ofrece PHP y, cuando uso una .php
extensión, funciona correctamente. ¿Es esto un problema o tengo que cambiar las preferencias php.ini
?
Respuestas:
No puede ejecutar PHP en archivos .html porque el servidor no lo reconoce como una extensión PHP válida a menos que usted se lo indique. Para hacer esto, necesita crear un archivo .htaccess en su directorio web raíz y agregarle esta línea:
Esto le indicará a Apache que procese archivos con una extensión de archivo .htm o .html como archivos PHP.
fuente
.htaccess
si esa es una opción..html
archivos como PHP no es necesario ni útil para seguirlo. Quieres que los usuarios visitenexample.com/foo
. Puede usar esa URL para servir contenido PHP independientemente de los nombres de archivo en su servidor. Si los usuarios ya lo hanfoo.html
marcado, aún puede publicarfoo.php
sin cambiar el nombre del archivo.Creo que escribir PHP en un archivo .html es confuso y antinatural. ¿¿Por qué harías eso??
De todos modos, si lo que quieres es ejecutar archivos PHP y mostrarlos como .html en la barra de direcciones, una solución más sencilla sería usar .php como de costumbre, y escribir una regla en tu .htaccess como esta:
fuente
Para usar php en archivos .html, debe asociarlos con su procesador PHP en el archivo de configuración de su servidor HTTP. En Apache, se ve así:
fuente
AddHandler
yAddType
? Gracias.Puede modificar .htaccess como dijeron otros, pero la solución más rápida es cambiar el nombre de la extensión del archivo a .php
fuente
Agregar esta línea
para
httpd.conf
solicitar lo que quiere hacer. Pero recuerde, si hace esto, su servidor web será muy lento, porque analizará incluso el código estático que no contendrá código php. Entonces, la mejor manera será hacer la extensión del archivo en.phtml
lugar de solo.html
.fuente
Para que los
.html
archivos también se analicen, debe establecer el controlador apropiado en la configuración de su servidor.Para Apache httpd 2.X esta es la siguiente línea
Consulte la documentación de PHP para obtener información sobre la instalación específica de su servidor.
fuente
De forma predeterminada, no puede utilizar PHP en páginas HTML.
Para hacer eso, modifique su archivo .htacccess con lo siguiente:
fuente
Si solo tiene código php en un archivo html, pero tiene varios archivos que solo contienen código html, puede agregar lo siguiente a su archivo .htaccess para que solo sirva ese archivo en particular como php.
Esto hará que PHP sea ejecutable ÚNICAMENTE en el archivo "yourpage.html" y no en todas sus páginas html, lo que evitará la ralentización de todo su servidor.
En cuanto a por qué alguien podría querer servir php a través de un archivo html, utilizo la función IMPORTHTML en las hojas de cálculo de Google para importar datos JSON desde una URL externa que debe analizarse con php para limpiarlo y construir una tabla html. Hasta ahora no he encontrado ninguna forma de importar un archivo .php en hojas de cálculo de Google, por lo que debe guardarse como un archivo .html para que la función funcione. Ser capaz de servir php a través de un archivo .html es necesario para ese uso en particular.
fuente
Cree un archivo vacío usando el bloc de notas y asígnele el nombre .htaccess, luego copie ese archivo en el directorio de su proyecto y agregue esta línea y guárdelo.
de lo contrario, guarde el archivo .html usando .php ya que php puede admitir html, y guárdelo en la ruta computer / var / www / html (linux)
fuente
AJAX también es una posibilidad. Efectivamente, querría datos de la página php. Una vez que tenga los datos, puede formatear de todos modos en javascript y mostrar.
fuente
REVISIÓN MODERNA: ahora también necesita solucionarlo cambiando el poco conocido '' security.limit_extensions 'en php-fpm haciendo esto. Probablemente ya conozca el mecanismo bien documentado para cambiar apache a AddHandler / AddType. No entraré en eso aquí.
DEBE averiguar dónde está php-fpm / conf en su configuración. Lo hice haciendo esto
# grep -rnw '/etc/' -e 'security.limit_extensions'
Tengo esto de vuelta
'/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'
vaya a este archivo, edítelo y ASEGÚRESE DE QUE SE DA CUENTA DE QUE ESTÁ COMENTADO POR EJ .: cámbielo de
';security.limit_extensions = .php .php3 .php4 .php5 .php7'
<- NB: tenga en cuenta que";"
- esta línea está DESHABILITADA de forma predeterminada - y no necesita todas las extensiones sin sentido, de hecho son probablemente peligroso .. cámbielo a'security.limit_extensions = .php .htm'
<- tenga en cuenta que ahora se ha eliminado el punto y coma. luego reinicie apache / (o nginx) y reinicie php-fpm# service php-fpm restart
# service httpd restart
fuente
Para combinar HTML y PHP puede usar archivos .phtml.
fuente