Não consigo usar PHP em minhas páginas HTML. Por exemplo index.html
,. Tentei usar os dois:
<? contents ?>
e
<?php contents ?>
Nenhum desses funciona. Meu servidor oferece PHP e, quando uso uma .php
extensão, ele funciona corretamente. Isso é um problema ou preciso alterar as preferências no php.ini
?
Respostas:
Você não pode executar o PHP em arquivos .html porque o servidor não reconhece isso como uma extensão válida do PHP, a menos que você solicite. Para fazer isso, você precisa criar um arquivo .htaccess em seu diretório raiz da web e adicionar esta linha a ele:
Isso dirá ao Apache para processar arquivos com extensão .htm ou .html como arquivos PHP.
fonte
.htaccess
se for uma opção..html
arquivos de processo do servidor como PHP não é nem mesmo necessário, ou útil, para segui-lo. Você deseja que os usuários visitemexample.com/foo
. Você pode usar esse URL para servir conteúdo PHP, independentemente dos nomes de arquivo em seu servidor. Se os usuários jáfoo.html
marcaram, você ainda pode servirfoo.php
sem renomear o arquivo.Acho que escrever PHP em um arquivo .html é confuso e antinatural. Por que você faria isso??
De qualquer forma, se o que você deseja é executar arquivos PHP e mostrá-los como .html na barra de endereço, uma solução mais fácil seria usar .php normalmente, e escrever uma regra em seu .htaccess como esta:
fonte
Para usar php em arquivos .html, você deve associá-los ao seu processador PHP no arquivo de configuração do servidor HTTP. No Apache, isso se parece com isto:
fonte
AddHandler
eAddType
? Obrigado.Você pode modificar .htaccess como outros disseram, mas a solução mais rápida é renomear a extensão do arquivo para .php
fonte
Adicione esta linha
para
httpd.conf
arquivar o que você deseja fazer. Mas lembre-se, se você fizer isso, seu servidor web ficará muito lento, porque ele analisará até mesmo código estático que não conterá código php. Portanto, a melhor maneira será fazer a extensão do arquivo em.phtml
vez de apenas.html
.fonte
Para ter
.html
arquivos também sejam analisados, você precisa definir o manipulador apropriado na configuração do seu servidor.Para Apache httpd 2.X, esta é a seguinte linha
Consulte a documentação do PHP para obter informações sobre a instalação de seu servidor específico.
fonte
Por padrão, você não pode usar PHP em páginas HTML.
Para fazer isso, modifique seu arquivo .htacccess com o seguinte:
fonte
Se você tiver apenas o código php em um arquivo html, mas vários outros arquivos que contenham apenas o código html, você pode adicionar o seguinte ao seu arquivo .htaccess para que ele sirva apenas esse arquivo específico como php.
Isso tornará o PHP executável SOMENTE no arquivo "yourpage.html" e não em todas as suas páginas html, o que evitará a lentidão em todo o servidor.
Quanto ao motivo de alguém querer servir php através de um arquivo html, eu uso a função IMPORTHTML em planilhas do Google para importar dados JSON de um url externo que deve ser analisado com php para limpá-lo e construir uma tabela html. Até agora, não encontrei nenhuma maneira de importar um arquivo .php para as planilhas do Google, então ele deve ser salvo como um arquivo .html para que a função funcione. Ser capaz de servir php através de um arquivo .html é necessário para esse uso específico.
fonte
Crie um arquivo vazio usando o bloco de notas e nomeie-o .htaccess. Em seguida, copie esse arquivo no diretório do projeto, adicione esta linha e salve.
caso contrário, salve o arquivo .html usando .php, pois php pode suportar html, e salve-o no caminho computer / var / www / html (linux)
fonte
AJAX também é uma possibilidade. Efetivamente, você deseja dados da página php. Depois de ter os dados, você pode formatar de qualquer maneira em javascript e display.
fonte
REVISÃO MODERNA: agora você também precisa corrigi-lo alterando o pouco conhecido '' security.limit_extensions 'no php-fpm fazendo isso. Você provavelmente já conhece o mecanismo bem documentado de alterar o apache para AddHandler / AddType. Não entrarei nisso aqui.
VOCÊ DEVE descobrir onde php-fpm / conf está em sua configuração. Eu fiz isso fazendo isso
# grep -rnw '/etc/' -e 'security.limit_extensions'
Eu peguei de volta
'/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'
vá para este arquivo, edite-o e CERTIFIQUE-SE DE QUE VOCÊ PERCEBE QUE É COMENTADO EX .: mude de
';security.limit_extensions = .php .php3 .php4 .php5 .php7'
<- NB: note que";"
- esta linha está DESABILITADA por padrão - e você não precisa de todas as extensões sem sentido, na verdade elas são provavelmente perigoso .. mude para'security.limit_extensions = .php .htm'
<- observe que o ponto e vírgula foi removido. então reinicie o apache / (ou nginx) e reinicie o php-fpm# service php-fpm restart
# service httpd restart
fonte
Para combinar HTML e PHP, você pode usar arquivos .phtml.
fonte