PHP SOAP wsdl fatal error 和 Xdebug

标签 php soap wsdl xdebug fatal-error

我真的不明白 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/

相关文章:

php - FedEx express 网络服务 : ERROR 9040 - Can't pull up tracking

php - 如何使用带有 HTML 表单的 PHP 在 MySQL 中插入记录

javascript - 努力理解与 MySQL 数据库交互的逻辑

php - Ubuntu 16 中缺少 php_soap.dll

java - 如何在eclipse中捕获SOAP消息

iphone - WSDL/XML 解析 iOS objective-c

java - CXF WebService 测试期间 JAXB 中的 SAXParseException

java - wsdl2java 和 axis2 网络服务设置和测试

php - fatal error : Class 'TestCase' not found in laravel 5

php - 如何让 PHP、Symlinks 和 __FILE__ 很好地协同工作?