// 如果遇到什么严重错误重新向跳转到某个页面
// 范例中是连接一个ERP API时出错
public function shutdown() {
var_dump('already shutdown.');
$last_error = error_get_last();
var_dump($last_error);
if (stripos($last_error['message'],'Erporder') !== false) {
$session = Mage::getSingleton('customer/session');
if ($session->getCustomerId()) {
Mage::getSingleton('customer/session')->addError(Mage::helper('core')->__('Currently unable to connect to the server, please try again later.'));
$response = Mage::app()->getResponse()
->setHeader("Location", "/customer/account/")
->sendHeaders();
}
}
}
// 调用shutdown方法
private function createHttpClient(){
register_shutdown_function(array(&$this,'shutdown'));
//do something.
}

本文介绍了一种在PHP中处理未捕获错误的方法,并在特定类型的错误发生时将用户重定向到账户页面的实现方式。通过使用`register_shutdown_function`注册关闭函数,可以在脚本执行结束时检查并处理最后的错误。
1650

被折叠的 条评论
为什么被折叠?



