我们使用CakeAMF。它优雅地处理代码中的异常并返回FaultEvent
到闪存端。但是,如果会发生一些 PHP 错误(致命错误) - 无法从客户端处理此问题 - 我们只会收到错误 500 而没有任何解释。在请求解析器中(Service Capture
或者Charles
我看到关于错误描述的 HTML 文本,由CakePHP编写)。
有没有办法在 AMF 类中捕获和处理此错误并返回FaultEvent
,而不是 Cake HTML 文本?
您可以尝试设置一个自定义错误处理程序,将其变成异常。AmfPHP 2.0 中有一个插件,但我记得 CakeAMF 仍在使用 1.9,所以你必须自己编写代码
尝试一些类似 set_error_handler('custom_warning_handler');
function custom_warning_handler($errno, $errstr, $errfile, $errline, $errcontext) { throw new Exception("$errstr . \n
file: $errfile \n
line: $errline \n
context: " . print_r($errcontext,真), $errno); }