Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php XMLRPC捕获脚本执行错误并在响应中显示它们_Php_Error Handling_Xml Rpc - Fatal编程技术网

Php XMLRPC捕获脚本执行错误并在响应中显示它们

Php XMLRPC捕获脚本执行错误并在响应中显示它们,php,error-handling,xml-rpc,Php,Error Handling,Xml Rpc,如何将脚本执行错误传递给XMLRPC响应,以避免出现错误异常 也许我的设置不对: 在XMLRPC服务器中,我添加了Zend_XMLRPC_server_Fault::attachFaultException('Exception')如下所示: Zend_XmlRpc_Server_Fault::attachFaultException('Exception'); $server = new Zend_XmlRpc_Server(); 但我仍然得到一个错误例外: Fault Exception:

如何将脚本执行错误传递给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);
文件:

脚本出现错误时的XMLRPC错误示例:

Fault Exception:\n651Failed to parse response
Fatal error: Call to undefined method
脚本出现错误时的示例:

Fault Exception:\n651Failed to parse response
Fatal error: Call to undefined method
两者都来自同一个脚本错误,但我需要XMLRPC在响应中显示致命错误消息,而不是给出解析失败的响应。

您可以使用该函数截获脚本错误,而不是抛出:

因此,当您调用Zend_XmlRpc_Server::handle()时:


编辑:错误例外页面中的示例#1错误。使用此答案中的版本。

Hmm,添加代码时,这会给我一个404错误代码和一个未知错误错误字符串:数组([0]=>Array([faultCode]=>404[faultString]=>unknown error)),如果我删除了你的代码,功能就可以正常工作,添加你的代码我得到上面的评论我的坏,代码是错误的。我从php.net复制/粘贴了一个糟糕的示例。另外,我看到您特别想捕获一个致命错误。这些根本不可能被困住,你必须在它们发生之前阻止它们。您的致命错误发生在哪里?我只是想让它用于开发,因为使用新功能运行XMLRPC有时会破坏当前进程。现在我有一个单独的脚本,它只是实例化一个新类,并运行与XMLRPC服务相同的过程。更正错误(如果有),然后运行XMLRPC服务以完成该过程。每隔一段时间,可能会有一些东西通过测试,导致XMLRPC出现错误异常:\n651无法解析响应,这有时是一个很难跟踪的问题。只是想寻找一种更有效的调试/测试方法。另一个注意事项是我回显/打印所有已执行操作的XMLRPC响应(在开发过程中是一个数组),回显$server->handle();在生产中,我只给出作为XMLRPC响应执行的最后一个操作