从nginx设置php include_path

时间:2009-07-31 22:07:52

标签: php nginx

Apache允许您使用php_value指令为虚拟主机设置php.ini值。

nginx有类似的东西吗?是否有其他方法可以在每个站点上设置include_path?

2 个答案:

答案 0 :(得分:25)

现在,可以这样做:

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

更多信息: http://bugs.php.net/bug.php?id=51595

使用此技术设置php值,我已成功为多个虚拟主机设置了不同的“error_log”位置。

谢谢,PHP和NginX家伙们!

答案 1 :(得分:1)

Sean,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);