ini_set not working with nginx & php7-fpm


ini_set not working with nginx & php7-fpm

我最近从Apache转移了一个项目;PHP5到nginx &PHP7。当调试我的应用程序时,我注意到ini_set不再工作了,至少对于以下设置。

ini_set( 'display_errors', 'On' );
ini_set( 'log_errors', 'On' );
ini_set( 'error_log', __DIR__ROOT . 'var/log/main-errors.log' );

'On', 'on', 1, '1'true都不工作。ini_get_all()在调用ini_set()之前和之后给出相同的结果。

我知道我可以在池配置文件中更改这些设置,但我只需要为一个特定部分启用display_errors,应用程序的API部分使用相同的池,但必须记录到一个单独的文件。

有没有办法使用ini_set()不改变池/nginx配置文件?或者这应该工作,这是一个bug吗?


然而,以下设置似乎与ini_set()一起工作:

ini_set( 'memory_limit', '256M' );
ini_set( 'session.save_path', $sessionSettings['save_path'] );
ini_set( 'zlib.output_compression', 'On' );
ini_set( 'zlib.output_compression_level', '3' );

另一个可能的原因。任何在php-fpm配置中指定为"php_admin_value"或"php_admin_flag"的值不能被覆盖。

你phpinfo ();输出将显示这些配置文件在系统中的位置。

我有一个类似的问题,ini_set不工作。显然,php.ini在disabled_functions指令中有ini_set。因此,在更改ini_set之前,它将无法工作。