gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:51:10 26 4
gpt4 key购买 nike

如何将脚本执行错误传递给 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 在响应中显示 fatal error 消息,而不是给出解析失败的响应。

最佳答案

您可以使用 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 是错误的。请改用此答案中的版本。

关于php - XMLRPC 捕获脚本执行错误并在响应中显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5952984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com