gpt4 book ai didi

php - Zend 框架 : Error Reporting is shut down regardless of ini File

转载 作者:行者123 更新时间:2023-12-03 07:41:14 26 4
gpt4 key购买 nike

当变量/属性的类型错误时,我经常遇到问题。问题是很难追踪,因为我的 PHP (5.3) 刚刚崩溃,没有输出错误,甚至没有写入错误日志 (*1)。它只是崩溃。

我认为访问像数组这样的字符串不应该是不可追踪的吗?我的意思是,PHP 不是 C 对吗?

有没有办法改变这种行为或某种最佳实践来解决这个问题?
除了随时随地检查每个变量并因此编写多 5 倍的代码?

[更新] :
好的,如果我在 Zend 之外简化代码,它似乎可以工作。它必须以某种方式与 Zend 相关。虽然我在 application.ini 中设置了所有 phpSettings:

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
phpSettings.error_reporting = "E_ALL|E_STRICT"

导致错误的代码(它在我刚刚尝试过的沙箱中工作)是这样的:
$prefix = (strpos($obj[3][1], 'videometa') !== false) ? "http://www7.example.org" : "http://www.example.org";

其中 $obj 是一个 json 字符串。

[更新2] :
所以我尝试在我的代码正上方使用 ini_get 回显 php 设置,它说 error_reporting 在 E_ALL|E_STRICT 上,display_error 是 ON 等。

所以这:
echo '<br/>ini_get = '.ini_get('display_errors').';';
echo '<br/>ini_get = '.ini_get('error_reporting').';';
echo '<br/>ini_get = '.ini_get('error_log').';';
echo '<br>$obj: ';
$obj = 'peter';
var_dump($obj);

echo '<br/>Now for the critical code:';
$prefix = (strpos($obj[MC_IMAGETYPE_VDT][1], 'videometa') !== false) ? "http://www7.example.org" : "http://www.example.org";

echo '<br/>It never shows this!';

推出这个:
ini_get = 1;
ini_get = E_ALL|E_STRICT;
ini_get = /Applications/MAMP/logs/php_error.log;
$obj: string(5) "peter"

Now for the critical code:

然后停止。
有任何想法吗?

*1. php.ini 有 display_errors = On 和 error_reporting = E_ALL 等等。都好。

最佳答案

我不认为您用来设置错误报告的方法是正确的,您将它设置为字符串值,而它应该是数字(或具有数字值的常量,例如 E_ALL)。试试吧:

phpSettings.error_reporting = E_ALL|E_STRICT

(即没有引号)或:
phpSettings.error_reporting = 32767

如果所有其他方法都失败了,您可以随时将错误报告值临时设置在您认为导致问题的代码之上:
error_reporting(E_ALL);

此外,您还有:
$prefix = (strpos($obj[MC_IMAGETYPE_VDT][1], 'videometa') !== false) ? "http://www7.example.org" : "http://www.example.org";

但是 $obj是您试图作为嵌套数组访问的字符串。这会给你 Fatal error: Cannot use string offset as an array这可能是您的代码失败的原因。

关于php - Zend 框架 : Error Reporting is shut down regardless of ini File,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6745426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com