SOAP PHP の WSDL 解析エラー: 外部エンティティのロードに失敗しました
PHP SOAP クライアントを利用しようとすると、次のエラーが発生する場合があります:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost/MyRegistration/login.xml' : failed to load external entity "http://localhost/MyRegistration/login.xml"
説明:
このエラーは、SOAP クライアントが指定された URL から WSDL ファイルにアクセスできないことを示します。 WSDL (Web サービス記述言語) は、Web サービスの機能、操作、およびデータ型を説明する文書です。 WSDL ファイルのロードは、SOAP クライアントが Web サービスを理解して通信するために不可欠です。
考えられる原因:
解決策:
1. URL の精度を確認します:
SoapClient コンストラクターに提供された URL を再確認します。プロトコル (例: 「http://」) と正しいファイル名 (例: 「login.wsdl」) の両方が含まれていることを確認します。
2.ネットワークの問題の解決:
WSDL ファイルをホストしているサーバーがオンラインであり、クライアントからのアクセスをブロックしているファイアウォールがないことを確認します。
3.セキュリティ設定の調整:
制限的なネットワーク環境にいる場合は、外部エンティティのロードを許可するようにセキュリティ設定を調整する必要がある場合があります。これは、多くの場合、「php.ini」などの PHP 構成ファイルを変更し、allow_url_fopen = On に設定することで実行できます。
追加情報:
以上がPHP SOAP クライアントが WSDL ファイルにアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。