PHP捕获Fatal error错误的方法
Fatal error 一般是不需要捕获的, 但是在一个复杂的程序中, 如果偶然出现内存不足导致fatal error就难以处理了.
比如. fatal error 出在MySQL类中fetch的时候. 这个时候就很难定位到真正问题所在了.
PHP异常处理中 可以通过set_error_handler来捕获. 但是却只能捕获 NOTICE/WARNING级别的错误, 对于E_ERROR是无能为力的.
register_shutdown_function 能解决set_error_handler的不足.
通过此函数注册好程序结束回调函数, 就可以捕获平时捕获不到的错误了. 再通过 error_get_last 对错误进行判断. 就容易找出难以定位的问题了.
function shutdown_function()
{
$e = error_get_last();
print_r($e);
}
register_shutdown_function('shutdown_function');
相关推荐
-
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
今天要用php代码来处理一个580M的日志文件,总共有219万多行记录,因为是.log的文件,在windows下面很难将文件按照条数来分割,于是在linux下用split -l 10000 filename 前缀名 将整个文件按10000行一个分割成了200多个小文件,之后用php来循环处理这200多个文件,可是执行到后来就出现了题目上面的错误: 复制代码 代码如下: Fatal error: Allowed memory size of 134217728 bytes exhausted (t
-
PHP中Fatal error session_start()错误解决步骤
错误信息: Fatal error: session_start() [function.session-start]: Failed to initialize storage module: files (path: ) in C:\usr\phpMyAdmin\libraries\session.inc.php on line 75 I.更改服务器配置: 1.检查error.log(Apache2.2\logs)文件,查看是否有错误报告.未发现. 2.检查php.ini中的session.
-
PHP中使用register_shutdown_function函数截获fatal error示例
我们在做项目时,偶尔会因为不谨慎而出现fatal error.如果display_errors设置成off,那用户将会看到的是一个空白的页面.若设置成了on,那fatal error的信息将会呈现出来(当然正常的人都不会这样干). 那我们有什么方法可以提前截获到fatal error,并用我们自己自定义的友好形式反馈给用户呢.PHP中有一个叫做 register_shutdown_function 的函数,可以让我们设置一个当执行关闭时可以被调用的另一个函数.也就是说当我们的脚本执行完成或意外
-
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
解决分析: 这个错误是说你的php 执行时间越过了配置文件中设置的最大执行时间30秒钟,这不是你的程序本身存在的问题,而 是系统的配置文件问题,如果你的网速快的话,可能再执行一次就不会出现这种错误了,不过 有了出现这种问题也可以进行一定的修改 方法有三种: 1.修改php的配置文件,找到php.ini文件,它一般应该放在你的C:\WINDOWS目录下,然后找到 max_execution_time = 30 ;//设置成你想要的值,单位是秒, 这一行,这就是设置的执行时间最大值为30秒,你可以对
-
解决fatal:remote error:You can't push to git://github.com/username/*.git问题的办法
解决fatal:remote error:You can't push to git://github.com/username/*.git问题的办法 今天Git push的时候 fatal:remote error: You can't push to git://github.com/username/*.git Use git@github.com:username/*.git 看来我是没有权限push啊. 解决方法: git remote rm origin git remote add
-
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
本文实例讲述了ThinkPHP提示错误Fatal error: Allowed memory size的解决方法.分享给大家供大家参考.具体分析如下: 如果你的ThinkPHP提示你:致命错误(Fatal error: Allowed memory size),根据网上说的提高服务器可使用内存,我觉得都不是好的解决办法.麻烦也没必要.因为这是ThinkPHP本身存在BUG. 错误提示:Fatal error: Allowed memory size of 1073741824 bytes exh
-
php运行提示:Fatal error Allowed memory size内存不足的解决方法
本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解
-
Fatal: the Postfix mail system is already running 解决办法
Fatal: the Postfix mail system is already running 的解决方案 [问题情境] 当启动postfix服务时出现如下错误提示: # service postfix start Starting Postfix Mail Transport Agent: postfixpostfix/postfix-script: fatal: the Postfix mail system is already running failed! 此外,postfix的s
-
Windows平台的 PHP 报错 Fatal error: Class COM not found in 的解决方法
在 Win Server 08 往上搭载的 IIS 跑 php 性能提升不少,但还是觉得不太舒服... 某日在调试一个win上的php生产环境时,一段php代码返回了错误: Fatal error: Class 'COM' not found in XXXXXXXXX 没发现 COM 类,php代码主要是调用一些系统的信息,初想应该是php没配置好,在stackoverflow找到答案,是讨论xampp的,要延伸开来,我加了几个要点: ★ php 根目录的 ext 文件夹下确保存有 php_co
-
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
本文实例讲述了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法.分享给大家供大家参考.具体如下: ZipArchive是php自带的一个压缩与解压缩函数了,今天理所当然的情况中使用new ZipArchive来创建zip文件时碰到提示Fatal error: Class ZipArchive not found in错误,感兴趣的朋友就一起来看看解决方法. 测试代码如下: 复制代码 代码如下: //PHP解压缩文件(
随机推荐
- dos命令行设置IE代理的实现代码
- canvas实现手机端用来上传用户头像的代码
- 校内网,大学生校内网的定义
- Windows 7下IIS安装配置教程(win8通用)
- 使用 certutil 实现 Hex2Bin 和 Base64 加解密的方法
- 10个.NET中删除空白字符串的方法
- yii2中LinkPager增加总页数和总记录数的实例
- php实现curl模拟ftp上传的方法
- 深入理解nodejs中Express的中间件
- 基于spring中的aop简单实例讲解
- Hadoop SSH免密码登录以及失败解决方案
- mongodb 修改用户密码 2种方法
- 基于C语言char与unsigned char的区别介绍
- 浅析Javascript匿名函数与自执行函数
- Node.js与PHP、Python的字符处理性能对比
- Flex结合JavaScript读取本地路径的方法
- CentOS下.htaccess不起作用的解决方法
- 谨慎使用Java8的默认方法
- SpringMVC实现自定义类型转换器
- 详解java中的Collections类