【问题标题】:ini_set not working with nginx & php7-fpmini_set 不适用于 nginx 和 php7-fpm
【发布时间】:2016-12-26 12:36:36
【问题描述】:

我最近将一个项目从 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 部分使用相同的池,但必须登录到单独的文件.

有什么方法可以在不更改池/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' );

【问题讨论】:

  • 这个类似问题的答案中的链接可能会对您有所帮助stackoverflow.com/questions/12103807/… 或者在ini_set nginx fpm 上进行简单的谷歌搜索将为您提供大量阅读内容
  • 我也看到了这个问题,但它并不相似,因为我尝试设置的设置是 PHP_INI_ALL 设置,而不是像这个问题中的 PHP_INI_SYSTEMPHP_INI_PERDIR。当然,我已经在 Google 上搜索过了,但我找不到这个特定设置的解决方案。
  • 但是允许从 php 脚本更改设置的链接可能有用
  • 它说“display_errors 指令是PHP_INI_ALL,因此它可以设置在任何地方,包括ini_set()”,所以我会说它应该可以工作。

标签: php nginx php-7 ini-set


【解决方案1】:

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

【讨论】:

  • 如果对某些值有效,那么可以参考:php.net/manual/en/ini.list.php ini_set 函数可以设置和不能设置的内容。但是,如果该列表中的变量将 Changeable 设置为:PHP_INI_ALL,并且 ini_set 不起作用,那么我建议您 ini_set 在 php.ini 的 disabled_functions 指令中。
  • 就像我在问题中所说,ini_set 适用于某些值。它只是不适用于display_errorslog_errorserror_log,它们都是PHP_INI_ALL 指令。
  • 这显然是不正确的。来自:php.net/manual/en/configuration.changes.modes.php“例如,output_buffering 设置是 PHP_INI_PERDIR,因此它可能无法使用 ini_set() 设置。但是,display_errors 指令是 PHP_INI_ALL,因此它可以在任何地方设置,包括使用 ini_set()。”如果该值的可变模式是 PHP_INI_ALL,则 ini_set 可以设置该值。如果这确实有效,那么可能是 ini_set 处于禁用功能中。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 2017-03-31
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多