- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在过去的几个小时里,我遇到了一个让我发疯的问题:我无法在我的开发机器上覆盖 error_reporting
指令的默认值(Debian 8 + php-fpm 5.6.29 + Nginx/1.6.2)
我正在使用的 php 包:
$ dpkg --get-selections | grep php
libapache2-mod-php5 install
php-console-table install
php5 install
php5-cli install
php5-common install
php5-curl install
php5-fpm install
php5-gd install
php5-intl install
php5-json install
php5-mcrypt install
php5-mysql install
php5-readline install
php5-xmlrpc install
php5-xsl install
考虑以下极其简单的脚本:
<?php
$initial_value = error_reporting(); // Just read the current value
error_reporting(E_PARSE); // Lets set it to something else.
$update_value = error_reporting(); // Read again.
printf(
"Initial value: %s\nFinal value: %s",
$initial_value,
$update_value
);
如果我从 cli 运行它,它会工作:
$ php test.php
// output: Initial value: 22527 Final value: 4
但是如果我在 php5-fpm 下运行它,输出是:
Initial value: 32767 Final value: 32767
我尝试过的:
php.ini
中设置值(并检查 phpinfo();
中列出的所有 php.ini 文件,以防万一)但什么也没有。.user.ini
字段(检查了两次)error_reporting(E_PARSE)
和 ini_set('error_reporting', E_PARSE);
。这些指令应该覆盖 ini 文件,对吗?当然,在每次编辑 ini 文件后,我确实重启了 php5-fpm 进程(也尝试停止然后启动而不是重启/重新加载)
奇怪的是,我实际上可以覆盖其他参数(例如,display_errors
,在 ini 文件和 ini_set
调用中都有效) .
那么,到目前为止我还缺少什么?
最佳答案
这闻起来像 php_admin_value
。检查你的 fpm/php.ini
或 fpm/pool.d/*
或 fpm/conf.d/*
为:
php_admin_value[error_reporting] = E_ALL
它是不可覆盖的,并产生与您描述的相同的输出。也可以从 nginx 配置中设置,检查:
fastcgi_param PHP_ADMIN_VALUE ...
关于PHP-FPM 无法覆盖 error_reporting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41699328/
在我的脚本中使用 error_reporting() 或 ini_set('error_reporting') 时,两者之间是否存在功能差异?一种方法优于另一种方法吗? 就其值(value)而言,我看
谁能解释一下 error_reporting(E_ALL); 和 error_reporting(E_ALL & ~E_NOTICE); 之间的区别? 我注意到,当我从 E_ALL 更改为 E_ALL
我的虚拟主机提供商不提供启用错误报告的选项。 所以用 error_reporting(E_ALL); 试了一下;但这也行不通。 我尝试了以下脚本: 如果我正确阅读了手册,那么这应该会生成错误通知。
我正在寻找一种工具来帮助我在 PHP 中分析和设置 error_reporting 级别。 我希望它具有以下功能: 粘贴一个数字 error_reporting() 值并查看其中设置的所有单个错误报告
PHP代码段: '; error_reporting(1); echo ' b= '.$b; ?> 输出是 a = b= 恕不另行通知。 我希望error_reporting(1)可以显示错误。但是
在https://stackoverflow.com/a/2867082/288568中,我发现了两种禁用通知的方法。那到底有什么区别 error_reporting(E_ALL ^ E_NOTICE
在过去的几个小时里,我遇到了一个让我发疯的问题:我无法在我的开发机器上覆盖 error_reporting 指令的默认值(Debian 8 + php-fpm 5.6.29 + Nginx/1.6.2
我在 codeigniter 框架中创建了一个项目并将其上传到主机,主机说该站点很快就会填满服务器的日志文件。 所以我检查了错误日志,对于我收到的每个请求: error_reporting() has
这是我的 PHP 脚本 - ' ;. $thisdoesnotexist); ?> 如果要执行,显然应该显示一些东西。 我看到的只是一个空白页面。为什么 error_reporting(E_ALL)
error_reporting(0) 是否与 ini_set('display_errors', 0) 相同?如果不是,有什么区别? 我也对这段代码的安全方面感兴趣吗?我可以实现'so malicio
我有一个像这样的页面: error_reporting(-1); require('test.txt'); 我知道 test.txt 不存在。我想尝试 error_reporting() 函数。在这种
我正在尝试编写自己的错误报告功能。作为模板,我使用的示例包含以下代码片段: if (!(error_reporting() & $errorcode)) { return; } 但是它到底是做
我正在使用WordPress REST API,并且在我的主插件文件中设置了: ini_set('display_errors', 1); ini_set('display_startup_error
当我查看 php 手册中的错误处理时,有人发布了一条关于可能发生冲突的有趣评论。这是链接:http://www.php.net/manual/en/errorfunc.configuration.ph
我正在运行一个充满 error_reporting 调用的应用程序,但我正在运行 PHP 5.5,它有很多贬值警告。我已经像这样正确配置了我的 php.ini 文件。 error_reporting
当我使用下面的(简化的)错误处理 $notice那么它确实捕获了 E_DEPRECATED (8192) 错误。 与 $notice ,值为 6143,其位掩码为: 0001011111111111
这个问题已经有答案了: Reference Guide: What does this symbol mean in PHP? (PHP Syntax) (25 个回答) 已关闭 7 年前。 这两个语
对于我的本地机器,我在我的 php.ini 中使用以下设置 error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED 它允许省略单引号从记录集中获取数据,
几个小时以来,我一直在尝试让 Mongo 在 Ubuntu Server 12.04 上使用 Apache2 在 PHP 5.3 上工作。 它给出了错误: Fatal error: Class 'Mo
我有一个非常简单的页面,它获取一个 url 并解析一些数据。 如果响应是 404 错误,我已经在我的页面中内置了一些错误处理。 但是,我似乎无法阻止 php 吐出以下错误 Warning: file
我是一名优秀的程序员,十分优秀!