栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

安全地捕获PHP中的“允许的内存大小用尽”错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安全地捕获PHP中的“允许的内存大小用尽”错误

就像这个答案所暗示的那样,您可以

register_shutdown_function()
用来注册将检查的回调
error_get_last()

无论是

@
闭嘴 )运算符,还是
ini_set('display_errors', false)

ini_set('display_errors', false);error_reporting(-1);set_error_handler(function($pre, $string, $file, $line){        throw new ErrorException($string, null, $pre, $file, $line);    });register_shutdown_function(function(){        $error = error_get_last();        if(null !== $error)        { echo 'Caught at shutdown';        }    });try{    while(true)    {        $data .= str_repeat('#', PHP_INT_MAX);    }}catch(Exception $exception){    echo 'Caught in try/catch';}

运行时,输出

Caught atshutdown
。不幸的是,
ErrorException
没有抛出异常对象,因为致命错误触发了脚本终止,随后仅在关闭函数中被捕获。

您可以

$error
在关闭功能中检查阵列以获取有关原因的详细信息,然后做出相应的响应。一个建议可能是针对您的Web应用程序重新发出请求(
在不同的地址或使用不同的参数 ),然后返回捕获的响应。

我建议保持

error_reporting()
较高 的值
-1
值为 ),并使用( 如其他人所建议的
)对
set_error_handler()
和进行其他所有操作
ErrorException



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号