我真的不明白 PHP SOAP 库是怎么回事 我使用 SOAP 服务,它运行良好,但有时我知道 “ fatal error :SOAP-ERROR:正在解析 WSDL:.......”
我读到这个错误是无法捕获的,因为 Xdebug 是打开的,解决方案是禁用它以便能够捕获错误,...
但是我不工作!错误显示为橙色和红色 你有什么想法吗??
(我使用最新版本的 wamp,我不知道如何检查我选择的是 64 位还是 32 位,但它是 apache 2.2.22,php 5.3.13)
在此先感谢您的帮助! :)
<?php
xdebug_disable();
try {
$sc = new SoapClient("some-wrong.wsdl", array('exceptions' => true));
} catch (Exception $e) {
echo 'Error Caught :-)';
}
?>
我想补充一点:
有时我有 2 个警告和 1 个错误
- Warning: SoapClient::SoapClient -> "failed to open stream ..."
- Warning: SoapClient::SoapClient -> "failed to load external entity ..."
- Fatal error: SOAP-ERROR: Parsing WSDL -> "Couldn't load from ..."
有时,只是 fatal error
我在 new SoapClient(..... 当出现 Uncaught Error 时,不会显示回显
我必须补充一点,我调用 SoapClient 时使用 '跟踪' => 1, '异常(exception)' => 1,
我在 apache 错误日志中有这个(** 用于隐藏)
[Thu Jan 31 16:16:02 2013] [error] [client 127.0.0.1] PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******?wsdl' : Start tag expected, '<' not found\n in D:\\Programmes\\wamp\\www\\******.php on line 144, referer: http://localhost/******.php
[Thu Jan 31 16:16:04 2013] [error] [client 127.0.0.1] PHP Warning: ||| faultcode: WSDL ||| faultstring: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******?wsdl' : Start tag expected, '<' not found\n ||| in D:\\******.php on line 201, referer: http://localhost/******.php
[Thu Jan 31 16:16:04 2013] [error] [client 127.0.0.1] PHP Fatal error: Call to a member function __getLastRequestHeaders() on a non-object in D:\\Programmes\\wamp\\www\\******.php on line 204, referer: http://localhost/******.php
我编辑了我的第一条消息,因为我是新人,不能在 8 小时内回复我自己的消息
所以今天早上,我更改了 apache 的默认堆栈大小,因为 apache 在 apache 错误日志中仅显示了这一行:[notice] Parent: child process exited with status 255 -- Restarting。
- 我已经安装了visual basic 2012(评估;))
- 使用 Visual Basic 命令控制台(开始 > Micrososft Visual Studio 2012 > Visual Studio 工具)
- 检查父级输入“cd ***my_path_containing_apache_bin_directory**\bin dumpbin/all httpd.exe |找到“堆栈”(是“40000 大小的堆栈保留”)
- 增加大小键入 editbin/stack:1048576 httpd.exe
- 并且不要忘记在 httpd.exe 文件上授予管理员权限 + 退出 WANP!!! (因为这个我浪费了一个上午!,editbin 返回了一个 LINK 错误!!)
-> 这很奇怪,因为在完成此操作后,我遇到了 WSDL Uncaught Error ,但几个小时后我没有出现这种错误,可能是我使用的代理列表能够正确连接, .. ??
最佳答案
SOAP 扩展做了一些奇怪的事情并覆盖了内部 PHP 错误处理程序。这与 Xdebug 的错误覆盖机制有点冲突。不过请务必包含完整的错误消息,我或许可以从那里更新我的答案。
关于PHP SOAP wsdl fatal error 和 Xdebug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14627263/