Установить php include_path из nginx
Apache позволяет устанавливать значения php.ini для виртуальных хостов с помощью директивы php_value.
Есть ли у nginx что-то подобное? Есть ли другой способ установить include_path для каждого сайта?
Ответы
Ответ 1
Теперь можно сделать так:
fastcgi_param PHP_VALUE "include_path=/my/include/path";
Дополнительная информация здесь:
http://bugs.php.net/bug.php?id=51595
Используя этот метод для установки значений php, я успешно установил разные места "error_log" для нескольких виртуальных хостов.
Спасибо, ребятам из PHP и NginX!
Ответ 2
Шон, php_value и php_admin_value не будут работать с nginx. Это ограничение php-cgi, а не nginx.
Вы можете обойти это, запустив несколько экземпляров PHP и перейдя в пользовательский php.ini так:
php-cgi -c /path/to/php.ini
Вы также можете явно указать путь включения в свой PHP-код:
$paths = array(
PATH_PROJECT . 'lib/',
PATH_PROJECT . 'lib/Doctrine/lib',
PATH_PROJECT . 'application/doctrine/mappers/',
PATH_PROJECT . 'application/lib',
PATH_PROJECT . 'application/modules/',
PATH_PROJECT . 'lib/classes',
PATH_PROJECT . 'application/lib/reports/',
get_include_path()
);
set_include_path(implode(PATH_SEPARATOR, $paths));
unset($paths);