Я действительно не понимаю, что происходит с библиотекой PHP SOAP. Я использую службу SOAP, она работает хорошо, но иногда у меня появляется хорошо известная «Неустранимая ошибка: SOAP-ERROR: Parsing 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 ..."
а иногда просто фатальная ошибка
Я поместил эхо сразу после строки new SoapClient (..... и когда есть неотловленная ошибка, эхо не отображается
Я должен добавить, что я вызываю SoapClient с 'trace' => 1, 'exceptions' => 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: [примечание] Родитель: дочерний процесс завершился со статусом 255 - перезапуск.
- Я установил Visual Basic 2012 (оценка;))
- использовали командную консоль Visual Basic (Пуск> Micrososft Visual Studio 2012> Инструменты Visual Studio)
- проверил отца, набрав "cd *** my_path_contain_apache_bin_directory * * \ bin dumpbin / all httpd.exe | find" stack "" (это было "размер резерва стека 40000")
- увеличьте размер, набрав editbin / stack: 1048576 httpd.exe
- И не забудьте НАПРАВИТЬ ПРАВО АДМИНИСТРАТОРА в файле httpd.exe + выйти из WANP !!! (Я потерял утро из-за этого!, Editbin возвращал ошибку LINK !!)
-> Это странно, потому что после того, как я это сделал, у меня были неперехваченные ошибки WSDL, но с тех пор, как несколько часов у меня не было такой ошибки, может быть, это просто список прокси, который я использую, которые могут правильно подключаться, ..? ?