php – error_get_last()的替代方案
发布时间:2020-12-13 22:33:18 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试调试在我大学的服务器上运行的php脚本.当前安装的php版本是5.1.6. 据我所知,error_get_last()仅适用于版本 = 5.2.我正在尝试回复失败的mkdir()调用的错误详细信息,我确信这是由其中一个目录的权限引起的.我希望错误消息能够解释这个问题,但我找不
我正在尝试调试在我大学的服务器上运行的php脚本.当前安装的php版本是5.1.6.
据我所知,error_get_last()仅适用于版本> = 5.2.我正在尝试回复失败的mkdir()调用的错误详细信息,我确信这是由其中一个目录的权限引起的.我希望错误消息能够解释这个问题,但我找不到查看错误详细信息的方法,我不认为我甚至可以访问其他php错误日志来检查那里. 我还有什么其他选择? 解决方法
您可以尝试创建自己的错误处理程序:
# temporary error handler function tempErrorHandler($errNo,$errStr,$errFile,$errLine,array $errContext) { # continue to practice @ suppression if (0 === error_reporting()) { return false; } # throw it throw new ErrorException($errStr,$errNo,$errLine); } # make this the error handler for now.. set_error_handler('tempErrorHandler'); # use a try..catch try { mkdir('../directory with some permission problem../../'); } catch (ErrorException $e) { # echo it out echo $e->getMessage(); # or do whatever you want with it: this part is just an EXAMPLE $errMsg = $e->getMessage(); $isPermissionDenied = strpos($errMsg,'Permission denied'); if ($isPermissionDenied) { # do something } } # revert to previous error handler restore_error_handler(); 请注意评论#或用它做任何你想做的事:这部分仅仅是一个例子 – 我不确定你在5.1.6版本中得到了什么错误,所以你可以随意使用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |