为什么$some_array['an-undefined-key']在Mac上抛出错误,而在Wamp上没


Why does $some_array['an-undefined-key'] throw an error on Mac but not Wamp?

由于某些原因,我的Mac显示错误消息"Undefined index: an-undefined-key",而在Windows上使用WAMP它会优雅地忽略异常。

用法示例:

if ($some_array['an-undefined-key']) {
    // ...
}

是否有一个PHP配置可以改变这个行为?

我意识到我可以做以下事情,但如果可能的话,我宁愿使用上面的技术:

if (isset($some_array['an-undefined-key']) && $some_array['an-undefined-key']) {
    // ...
}

是的,你需要调整error_reportingdisplay_errors的设置,听起来它们在你的两个不同的环境中是不同的。

链接

error_reporting

PHP ini_set -查看display_errors

的第一个示例

Mac上使用安装的repo的PHP与WAMP服务器的PHP .ini之间的区别是PHP .ini,尝试编辑您的脚本并将以下行添加到顶部:

 ini_set('display_errors', '1');
 error_reporting(E_ALL);

这应该在您的脚本中。如果这不是问题,那么请反馈,我将相应地更改。

您不应该在脚本中添加不必要的行,因为您必须在运行时更改它们。

编辑php.ini(使用wampmanager菜单以便得到正确的文件)

left click wampmanager -> PHP -> php.ini

查找这些参数并更改为这些值

error_reporting = E_ALL

这个在网页上显示错误

display_errors = On
error_log = "c:/wamp/logs/php_error.log"

这个将把错误记录到error_log指定的文件中,即使它们没有显示在屏幕上

log_errors = On

WAMP配置了XDEBUG,所以你现在应该在网页上看到橙色的大错误检查php.ini文件底部的这一行。版本号在您的系统上可能不同

; XDEBUG Extension
zend_extension = "c:/wamp/bin/php/php5.X.Y/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll"
相关文章: