Задайте путь включения php из nginx


Apache позволяет задавать значения php.ini для виртуальных хостов с помощью директивы php_value.

Есть ли в nginx что-то подобное? Есть ли другой способ задать путь include_path для каждого сайта?

 14
Author: Sean Clark Hess, 2009-08-01

2 answers

Теперь это можно сделать следующим образом:

fastcgi_param  PHP_VALUE  "include_path=/my/include/path";

Более подробная информация здесь: http://bugs.php.net/bug.php?id=51595

Используя этот метод для установки значений php, я успешно установил разные местоположения "error_log" для нескольких виртуальных хостов.

Спасибо, ребята из PHP и NginX!

 25
Author: J. Bruni, 2010-06-18 12:37:31

Шон, 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);
 1
Author: hobodave, 2009-07-31 22:43:18