Это старая версия документа!
Установка директив php.ini в конфиге Nginx
Для установки директив php.ini используется параметр конфигурации Nginx - fastcgi_param PHP_VALUE
Важно! В одном блоке location можно указать только 1 строчку PHP_VALUE , но она может быть многострочной. В каждой строке должна быть только 1 директива php.ini
примет конфигурации Nginx:
server { ... location / { include fastcgi_params; fastcgi_index index.php; fastcgi_param PHP_VALUE " session.cookie_domain = site.ru session.save_path = \"/srv/site.ru/sess\" error_log = /srv/site.ru/data/logs/php_errors.log open_basedir= /srv/site.ru/ upload_tmp_dir = /srv/site.ru/tmp "; ... } }
Очень важно! Если у вас несколько сайтов и вы переопределили разные директивы php.ini для разных сайтов то результат будет смешение этих директив (php 7.2 в 7.1 похоже такого нет), то есть нужно переопределять одинаковые директивы для всех сайтов или location
так же конфигурация для сайта можно вынести в отдельный файл и включить ее в конфиг в виде include
server { ... location / { include fastcgi_params; fastcgi_index index.php; include /srv/site.ru/php.ini; ... } }
а в файле /srv/site.ru/php.ini разместить следующий текст:
fastcgi_param PHP_VALUE " session.cookie_domain = site.ru session.save_path = \"/srv/site.ru/sess\" error_log = /srv/site.ru/data/logs/php_errors.log open_basedir= /srv/site.ru/ upload_tmp_dir = /srv/site.ru/tmp ";
Если внутри параметра PHP_VALUE нужно использовать двойные кавычки, то их надо квотировать как в строчке session.save_path = \«/srv/site.ru/sess\»