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

时间:2013-04-04 00:08:53

标签: php windows macos 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']) {
    // ...
}

3 个答案:

答案 0 :(得分:2)

是的,您需要调整error_reportingdisplay_errors设置,这些设置在两种不同的环境中听起来有所不同。

以下是链接

error_reporting

PHP ini_set - look at first example for display_errors

答案 1 :(得分:0)

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

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

这应该在您的脚本上。如果这不是问题,请回复评论,我会相应更改。

答案 2 :(得分:0)

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

编辑你的php.ini(使用wampmanager菜单,以便获得正确的文件) 左键单击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扩展 zend_extension =“c:/wamp/bin/php/php5.X.Y/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll”