Я не могу использовать PHP на своих HTML-страницах. Например, index.html
. Я пробовал использовать оба:
<? contents ?>
и
<?php contents ?>
Ни то, ни другое не работает. Мой сервер предлагает PHP, и когда я использую .php
расширение, оно работает правильно. Это проблема или мне нужно изменить настройки php.ini
?
Ответы:
Вы не можете запускать PHP в файлах .html, потому что сервер не распознает это как допустимое расширение PHP, если вы этого не укажете. Для этого вам нужно создать файл .htaccess в корневом веб-каталоге и добавить в него эту строку:
Это укажет Apache обрабатывать файлы с расширением .htm или .html как файлы PHP.
источник
.htaccess
если это возможно..html
файлы серверного процесса как PHP даже не нужно и даже не полезно для его выполнения. Вы хотите, чтобы пользователи посетилиexample.com/foo
. Вы можете использовать этот URL-адрес для обслуживания содержимого PHP независимо от имен файлов на вашем сервере. Если пользователи уже сделалиfoo.html
закладки, вы все равно можете работатьfoo.php
без переименования файла.Я думаю, что запись PHP в файл .html сбивает с толку и противоречит естественности. Почему ты бы так поступил??
В любом случае, если вы хотите запускать файлы PHP и отображать их как .html в адресной строке, самым простым решением было бы использовать .php как обычно и написать правило в своем .htaccess следующим образом:
источник
Чтобы использовать php в файлах .html, вы должны связать их с вашим процессором PHP в файле конфигурации вашего HTTP-сервера. В Apache это выглядит так:
источник
AddHandler
иAddType
? Спасибо.Вы можете изменить .htaccess, как говорили другие, но самое быстрое решение - переименовать расширение файла в .php
источник
Добавить эту строку
чтобы
httpd.conf
подать на то , что вы хотите сделать. Но помните, что если вы это сделаете, ваш веб-сервер будет очень медленным, потому что он будет анализировать даже статический код, который не будет содержать PHP-код. Так что лучше сделать расширение файла,.phtml
а не просто.html
.источник
За то
.html
анализа файлов вам необходимо установить соответствующий обработчик в конфигурации вашего сервера.Для Apache httpd 2.X это следующая строка
Информацию об установке вашего конкретного сервера см. В документации по PHP .
источник
По умолчанию вы не можете использовать PHP на HTML-страницах.
Для этого измените файл .htacccess следующим образом:
источник
Если у вас есть только php-код в одном html-файле, но есть несколько других файлов, которые содержат только html-код, вы можете добавить следующее в свой .htaccess файл, чтобы он обслуживал только этот конкретный файл как php.
Это сделает исполняемый файл PHP ТОЛЬКО в файле "yourpage.html", а не на всех ваших html-страницах, что предотвратит замедление работы всего вашего сервера.
Что касается того, почему кто-то может захотеть обслуживать php через файл html, я использую функцию IMPORTHTML в электронных таблицах Google для импорта данных JSON с внешнего URL-адреса, который необходимо проанализировать с помощью php, чтобы очистить его и создать таблицу html. Пока я не нашел способа импортировать файл .php в электронные таблицы Google, поэтому для работы функции его необходимо сохранить как файл .html. Возможность обслуживания php через файл .html необходима для этого конкретного использования.
источник
Создайте пустой файл с помощью блокнота и назовите его .htaccess. Затем скопируйте этот файл в каталог своего проекта, добавьте эту строку и сохраните.
в противном случае сохраните файл .html, используя .php, поскольку php может поддерживать html, и сохраните его в пути computer / var / www / html (linux)
источник
AJAX также возможен. По сути, вам нужны данные со страницы php. Когда у вас есть данные, вы можете в любом случае отформатировать их в javascript и отобразить.
источник
СОВРЕМЕННАЯ ПЕРЕСМОТР: теперь вам также необходимо исправить это, изменив малоизвестный «security.limit_extensions» в php-fpm, сделав это. Вы, вероятно, уже знаете хорошо документированный механизм изменения apache на AddHandler / AddType, я не буду здесь вдаваться в подробности.
ВЫ ДОЛЖНЫ выяснить, где находится php-fpm / conf в вашей настройке. Я сделал это, сделав это
# grep -rnw '/etc/' -e 'security.limit_extensions'
Я получил это обратно
'/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'
перейдите к этому файлу, отредактируйте его и УБЕДИТЕСЬ, ЧТО ВЫ ПОНИМАЕТЕ, ЧТО ЭТО ЗАКЛЮЧЕНО НАПРИМЕР: измените его с
';security.limit_extensions = .php .php3 .php4 .php5 .php7'
<- NB: обратите внимание на";"
- эта строка фактически ОТКЛЮЧЕНА по умолчанию - и вам не нужны все бессмысленные расширения, на самом деле они возможно опасно .. измените его на'security.limit_extensions = .php .htm'
<- обратите внимание, что точка с запятой теперь удалена. затем перезапустите apache / (или nginx) и перезапустите php-fpm# service php-fpm restart
# service httpd restart
источник
Для объединения HTML и PHP вы можете использовать файлы .phtml.
источник