Nginx 中的不同 PHP 配置

kd3*_*35a 5 php nginx fastcgi php.ini

我有一个 web 服务器运行多个服务器(虚拟主机),使用 nginx 和 fastcgi 传递给 unix-socket。

我想要完成的是使用 beta.example.com 和 live.example.com 进行设置,其中实时站点的 error_reporting 已关闭(但仍记录到文件),而 beta 站点的 error_reporting 已打开。

因此,对于 Apache,我会在以下方面做一些事情:

<VirtualHost *:80>
    ServerName beta.example.com

    [...]

    php_flag display_errors on
    php_flag display_startup_errors on
    php_value error_reporting -1

    [...]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在谷歌搜索时,我没有找到任何可以使用 fastcgi 将此类参数传递给 PHP 的地方。有谁知道如何做到这一点?

现在的配置是(简化):

server {
    server_name beta.example.com;
    [...]
    fastcgi_pass unix:/var/run/nginx/php-fastcgi.sock;
    fastcgi_index index.php;
}
Run Code Online (Sandbox Code Playgroud)

eta*_*klo 4

您可以使用以下语法将这些选项从 nginx 传递给 PHP fastcgi:

fastcgi_param PHP_FLAG "display_errors=on \n display_startup_errors=on";
fastcgi_param PHP_VALUE "error_reporting=-1";
Run Code Online (Sandbox Code Playgroud)

\n请注意,传递的选项之间必须有换行符( )。