Maison  >  Questions et réponses  >  le corps du texte

PHP 8.1 interrompt-il les fonctionnalités de la classe interne SoapClient ?

Lors de la création d'une bibliothèque utilisant SoapClient de PHP et compatible avec PHP 8.1, j'ai rencontré ce problème :

Toutes les propriétés de SoapClient sont désormais privées alors qu'elles étaient auparavant publiques. Donc des choses comme avoir le dernier problème de savon ($soapClient->__soap_fault)之类的事情不再可能。但如果出现问题,SoapClient 的大多数方法都会返回 null,而了解问题所在的唯一方法是获取不再可访问的 __soap_fault.

Comment dois-je utiliser les méthodes __doRequest lorsque je n'ai pas accès aux propriétés SoapClient ?

P粉615886660P粉615886660335 Il y a quelques jours480

répondre à tous(1)je répondrai

  • P粉969666670

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

    Regarder l'ancien SoapClient 文档,似乎直接访问属性总是错误 - 对于 php7.2 例如根据回程机器, __soap_fault n'est pas du tout documenté (voir https://web.archive.org/web/20171211100753/http://us3.php.net/manual/en/class.soapclient.php)

    La description du document est la suivante :

    Je dirais, assurez-vous que les exceptions sont activées (en modifiant $options['exceptions'] => true 传递给 SoapClient 构造函数)并在 try/catch 中处理这些异常 en conséquence. Si cela ne vous aide pas, une nouvelle question avec une erreur spécifique qui n'a pas été gérée correctement pourrait être plus utile.

    répondre
    0
  • Annulerrépondre