Я не могу использовать PHP на своих HTML-страницах. Например, index.html
. Я пробовал использовать оба варианта:
<? contents ?>
а также
<?php contents ?>
Ни один из них не работает. Мой сервер предлагает PHP, и когда я использую расширение .php
, он работает правильно. Является ли это проблемой или мне нужно изменить настройки в php.ini
?
Вы не можете запускать PHP в .html-файлах, потому что сервер не распознает это как допустимое расширение PHP, если вы не сообщите об этом. Для этого вам нужно создать файл .htaccess в корневом веб-каталоге и добавить к нему эту строку:
AddType application/x-httpd-php .htm .html
Это скажет Apache обрабатывать файлы с расширением .htm или .html в качестве файлов PHP.
Я думаю, что писать PHP в .html-файл является запутанным и анти-естественным. Почему ты бы так поступил??
В любом случае, если вы хотите выполнить PHP-файлы и показать их как .html в адресной строке, самое легкое решение будет использовать .php как обычно, и напишите правило в вашем .htaccess следующим образом:
RewriteRule ^([^.]+)\.html$ $1.php [L]
Чтобы использовать php в .html-файлах, вы должны связать их с вашим PHP-процессором в конфигурационном файле вашего HTTP-сервера. В Apache это выглядит так:
AddHandler application/x-httpd-php .html
Вы можете изменить .htaccess, как и другие, но самым быстрым решением является переименование расширения файла на .php
Для анализа файлов .html
также необходимо установить соответствующий обработчик в конфигурации вашего сервера.
Для Apache httpd 2.X это следующая строка
AddHandler application/x-httpd-php .html
Информацию о конкретной установке сервера см. В документе PHP .
Добавьте эту строку
AddHandler application/x-httpd-php .html
в файл httpd.conf
для того, что вы хотите сделать. Но помните, что если вы это сделаете, ваш веб-сервер будет очень медленным, потому что он будет анализировать даже статический код, который не будет содержать php-код. Таким образом, лучший способ будет сделать расширение файла .phtml
а не только .html
.
По умолчанию вы не можете использовать PHP в HTML-страницах.
Для этого измените файл .htacccess следующим образом:
AddType application/x-httpd-php .html
Если у вас есть только PHP-код в одном html-файле, но есть несколько других файлов, содержащих только html-код, вы можете добавить следующее в ваш файл .htaccess, поэтому он будет обслуживать только этот файл как php.
<Files yourpage.html> AddType application/x-httpd-php .html //you may need to use x-httpd-php5 if you are using php 5 or higher </Files>
Это сделает исполняемый файл PHP ТОЛЬКО в файле «yourpage.html», а не на всех ваших html-страницах, что предотвратит замедление на вашем сервере.
Что касается того, почему кто-то может захотеть обслуживать php через html-файл, я использую функцию IMPORTHTML в электронных таблицах google для импорта данных JSON из внешнего URL-адреса, который должен быть обработан с помощью php, чтобы очистить его и построить таблицу html. До сих пор я не нашел способа импортировать .php-файл в электронные таблицы google, поэтому он должен быть сохранен как .html-файл для работы функции. Возможность использования php через .html-файл необходима для этого конкретного использования.
Для комбинирования HTML и PHP вы можете использовать .phtml-файлы.