如何将脚本执行错误传递给XMLRPC响应,以免出现错误异常?
也许我没有正确设置:
在XMLRPC服务器中,我正在添加Zend_XmlRpc_Server_Fault::attachFaultException('Exception');
,如下所示:
Zend_XmlRpc_Server_Fault::attachFaultException('Exception');
$server = new Zend_XmlRpc_Server();
但我仍然遇到错误异常:
Fault Exception:\n651Failed to parse response
如何将脚本执行错误传递给响应?
我也试图设置这个没有运气:
error_reporting(E_ALL);
ini_set("display_errors",1);
ini_set("xmlrpc_errors",1);
文档:http://php.net/manual/en/errorfunc.configuration.php
脚本出错时的XMLRPC示例错误:
Fault Exception:\n651Failed to parse response
脚本出错时的示例:
Fatal error: Call to undefined method
两者都来自同一个脚本错误,但是我需要XMLRPC在响应中显示致命错误消息,而不是给出失败的解析响应。
答案 0 :(得分:2)
您可以使用set_error_handler()函数拦截脚本错误,而是抛出ErrorException:
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
所以当你调用Zend_XmlRpc_Server :: handle()时:
set_error_handler('exception_error_handler');
$server->handle();
restore_error_handler();
编辑: ErrorException页面中的示例#1错误。请改用此答案中的版本。