찾다

 >  Q&A  >  본문

PHP 8.1은 내부 클래스 SoapClient의 기능을 중단합니까?

PHP의 SoapClient를 사용하고 PHP 8.1과 호환되는 라이브러리를 만드는 동안 다음 문제에 직면했습니다.

SoapClient의 모든 속성은 이전에 공개였으나 이제는 비공개입니다. 그래서 마지막 비누 결함을 얻는 것과 같은 것 ($soapClient->__soap_fault)之类的事情不再可能。但如果出现问题,SoapClient 的大多数方法都会返回 null,而了解问题所在的唯一方法是获取不再可访问的 __soap_fault.

SoapClient 속성에 액세스할 수 없는 경우 메서드를 어떻게 사용해야 __doRequest합니까?

P粉615886660P粉615886660350일 전506

모든 응답(1)나는 대답할 것이다

  • P粉969666670

    P粉9696666702023-12-13 13:23:55

    오래된 SoapClient 文档,似乎直接访问属性总是错误 - 对于 php7.2 例如根据回程机器, __soap_fault을 보는 것은 전혀 문서화되어 있지 않습니다 (https://web.archive.org/web/20171211100753/http://us3.php.net/manual/en/class.soapclient.php 참조)

    문서 설명은 다음과 같습니다.

    예외를 활성화했는지 확인하세요(에 따라 $options['exceptions'] => true 传递给 SoapClient 构造函数)并在 try/catch 中处理这些异常 변경). 그래도 도움이 되지 않으면 올바르게 처리되지 않은 특정 오류가 포함된 새 질문을 작성하는 것이 더 도움이 될 수 있습니다.

    회신하다
    0
  • 취소회신하다