Как заставить работать php include на html страницах

J
На сайте с 06.07.2011
Offline
160
250

Скажите пожалуйста, есть панель vesta. Установлен nginx + php-fpm. Как заставить работать php include в html страницах.

Прогугли всё, попробовал разные варианты, работать не хочет.

Shelton724
На сайте с 26.05.2011
Offline
242
#1
jano :
Установлен nginx + php-fpm. Как заставить работать php include в html страницах.

Я просто отправил в гугл то, что сейчас цитирую, и первый в выдаче сайт описывает, как поменять настройки нгинкса, чтобы он отрабатывал пхп в хтмл. Может, Вам поможет. Далее цитата:

Иногда бывает необходимо запустить PHP код в HTML файлах. Особенно это актуально если торгуешь ссылочками в сапе или её ином аналоге.

В веб-сервере Apache это делается добавлением текстовой строки AddHandler в .htaccess
AddHandler application/x-httpd-php .php .htm .html
но к сожалению NGINX не понимает .htaccess и все настройки у него приходится производить через конфиг.

Поэтому придется немного подправить конфиг. За основу я взял конфиг из мануала по установке NGINX и PHP-FPM но нам от него интересна только часть описывающая работу PHP, поэтому я процитирую только её

##### vi /etc/nginx/conf.d/site.ru.conf
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass  unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
##########################################

собственно в ней мы и прописываем, что используем не только php, но и другие расширения файлов, приводя эту секцию к следующему виду

##### vi /etc/nginx/conf.d/site.ru.conf
location ~ \.(php|html|htm) {
include /etc/nginx/fastcgi_params;
fastcgi_pass  unix:/var/run/php5-fpm.sock;
fastcgi_index (index.html|index.php|index.htm);
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
##########################################

но помимо этого нам надо поменять директиву security.limit_extensions в файле /etc/php-fpm.d/www.conf поскольку она по умолчанию закомментирована и позволяет выполнять только php файлы. Для этого открываем файл конфига PHP-FPM и приводим строку к следующему виду:

security.limit_extensions = .php .php3 .php4 .php5 .html .htm

после чего рестартим оба сервиса
# service nginx restart
# service php-fpm restart

и видимо что у нас PHP код начинает корректно отрабатываться в виде вызовов из HTML файлов.

K1
На сайте с 16.04.2023
Offline
7
#2
jano :

Скажите пожалуйста, есть панель vesta. Установлен nginx + php-fpm. Как заставить работать php include в html страницах.

Прогугли всё, попробовал разные варианты, работать не хочет.

Если не получается то пишите хостеру, у вас отключен инклюде, они включат. 

Вообще инклюде лучше не использовать, это большая угроза безопасности. Потому он много где отключён.

J
На сайте с 06.07.2011
Offline
160
#3

Спасибо, как вы писали - я делал. php не отрабатывал в html

Как включить include я гуглил, не смог решить этот вопрос тоже. Я помню раньше решалось всё просто включение параметров в php.ini

E
На сайте с 01.10.2017
Offline
94
#4
Как выше написали, включать "выполение" html-файлов на PHP небезопасно. Используйте специальный скрипт для обработки запросов с .html в адресе. Или в крайнем случае сделайте так, чтобы запросы с .html в адресе обрабатывались в соответствующих php-файлах (при их наличии). А чтобы не было дублей /page.html и /page.php, разместите php-файлы в каком-то "скрытом" каталоге.
Домены на продажу: https://p20.ru/collection/domains-for-sale
TheVS
На сайте с 27.12.2006
Offline
427
#5
Когда-то давно я городил велосипед из костылей, подгружая php страницы в html через ssi. Не могу сказать насколько это универсально и подойдёт ли вам, но можете попробовать.
🍄 Партнёрская программа для вебмастеров: https://bit.ly/finance_pp
J
На сайте с 06.07.2011
Offline
160
#6
Вопрос закрыт, переименовал все в .php и ноу проблем.
W1
На сайте с 22.01.2021
Online
289
#7
jano #:
Вопрос закрыт, переименовал все в .php и ноу проблем.

Гениальное решение ;)

Мой форум - https://webinfo.guru –Там я всегда на связи

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий