ini_set无法使用nginx& PHP7-FPM

时间:2016-08-19 11:07:43

标签: php nginx php-7 ini-set

我最近从Apache& amp; 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部分使用相同的池,但必须登录到单独的文件。

有没有办法在不更改pool / nginx配置文件的情况下使用ini_set()?或者这应该工作,这是一个错误吗?

以下设置似乎适用于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' );

2 个答案:

答案 0 :(得分:0)

我有一个类似的问题,ini_set无法正常工作。显然php.ini在disabled_functions指令中有ini_set。因此,ini_set在改变之前不会起作用。

答案 1 :(得分:0)

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

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