如何使PHP未定义的常量注意到错误

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何使PHP未定义的常量注意到错误脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我花了好几个小时试图调试由以下代码引起的内存不足错误
for ($i = 1; i <= 4; $i++) {
  $Allowed[] = $tyPE.'_'.$i;
}

哪个PHP好好进入:

for ($i = 1; 'i' <= 4; $i++) {
  $allowed[] = $type.'_'.$i;
}

这会导致无限循环,最终由于附加到阵列而导致内存不足错误. PHP生成通知级别错误,我可以更改我的错误报告级别以显示这些但我正在处理第三方应用程序,这种应用程序倾向于生成足够的这些,这不是真正可行的解决方案.

有没有办法陷阱这些非常简单错误?具有讽刺意味的是,如果您执行类似常量(‘i’)的操作并明确询问值,它将生成警告而不是通知,这种行为将是理想的.

您可以创建自定义错误函数,然后筛选出最常见的错误,并仅报告不常见的错误.然后在PHP提高错误报告级别.例如.
function customError($error_no,$error_message,$error_file,$error_line,$error_context) {
    $common_errors = Array('File not found','Another made up error','ITs late');
    if (! in_array($error_message,$common_errors)) {
        // throw exception,LOG to file,or other action
    }
}

set_error_handler("customError");

你也可以像这样过滤错误

>除非是过滤掉所有错误通过测试感兴趣的文件一个数组的$error_file你维护的文件>甚至更好(不是生产server)获取last_modified$error_file的日期/时间filemtime()并报告错误if它在过去10年内发生了变化分钟.这可以帮助您调试代码你写的>或者,如果它在一个框架内你的听起来像是,分手了$error_file的路径并测试if它在你的模块/视图/控制器中文件,而不是核心框架档

脚本宝典总结

以上是脚本宝典为你收集整理的如何使PHP未定义的常量注意到错误全部内容,希望文章能够帮你解决如何使PHP未定义的常量注意到错误所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。