2

我最近将一个项目从 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'工作trueini_get_all()在调用之前和之后给出相同的结果ini_set()

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

有什么方法可以在ini_set()不更改池/nginx 配置文件的情况下使用?或者这应该有效吗?这是一个错误吗?


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

2 回答 2

0

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

于 2016-09-05T23:30:35.550 回答
0

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

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

于 2020-03-29T13:54:38.670 回答