Вызов PHP кода в HTML документах на веб-севере NGINX

28 Feb 2017 | Автор: dd |

Иногда бывает необходимо запустить 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 файлов.

VN:F [1.9.21_1169]
Rating: 3.7/10 (48 votes cast)
VN:F [1.9.21_1169]
Rating: +7 (from 9 votes)
Вызов PHP кода в HTML документах на веб-севере NGINX, 3.7 out of 10 based on 48 ratings

Теги: ,

Отзывов: 3 на «Вызов PHP кода в HTML документах на веб-севере NGINX»

  1. Автор: serg на 04 Jan 2018

    помогло :) пасиб

    [Reply]

    VA:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.21_1169]
    Rating: -1 (from 1 vote)
  2. Автор: Валерий на 04 Feb 2018

    Спасибо, помогли.

    [Reply]

    VA:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.21_1169]
    Rating: +1 (from 1 vote)
  3. Автор: Владимир на 17 Sep 2019

    Спасибо, как раз то что искал, на Apache завёл, а на Nginx сейчас попробую.
    Еще узнать бы как перенаправить определенные запросы…

    [Reply]

    VA:F [1.9.21_1169]
    Rating: 3.0/5 (1 vote cast)
    VA:F [1.9.21_1169]
    Rating: 0 (from 0 votes)

Ваш отзыв