Rumah > Artikel > pembangunan bahagian belakang > Mengapa Saya Mendapat \"SOAP-ERROR: Parsing WSDL: Can\'t load from ...\" Ralat dalam PHP?
Ralat Penghuraian SOAP: Gagal Memuatkan Entiti Luar
Dalam konteks penyepaduan perkhidmatan web SOAP menggunakan PHP, mesej ralat yang menyatakan "SOAP -RALAT: Menghuraikan WSDL: Tidak dapat memuatkan daripada 'http://localhost/MyRegistration/login.xml'...gagal memuatkan entiti luaran "http://localhost/MyRegistration/login.xml"" menunjukkan isu dengan mengakses atau menghuraikan fail WSDL yang ditentukan.
Punca Punca:
Lazimnya, ralat ini berlaku disebabkan oleh salah satu sebab berikut:
Penyelesaian masalah:
1. Sahkan URL WSDL:
Pastikan URL yang disediakan dalam pembina SOAPClient (di sini, "http://127.0.0.1/MyRegistration/login.wsdl") menunjuk ke lokasi yang betul bagi fail WSDL anda. Sebagai alternatif, cuba gunakan laluan yang layak sepenuhnya ke fail.
2. Lumpuhkan Sekatan Pemuatan Entiti Luaran:
Secara lalai, PHP mungkin menyekat akses kepada entiti luaran atas sebab keselamatan. Untuk melumpuhkan sekatan ini, anda boleh menambah baris berikut pada konfigurasi PHP anda (php.ini):
allow_url_fopen = On
3. Semak Kesahan WSDL:
Sahkan kandungan fail WSDL (login.wsdl) untuk memastikan ia adalah XML yang dibentuk dengan baik dan mengandungi elemen dan atribut yang diperlukan untuk kontrak SOAP yang sah. Gunakan pengesah XML dalam talian atau semak fail secara manual.
4. Pertimbangan Tambahan:
Nota tentang Implikasi Keselamatan:
Melumpuhkan luaran sekatan pemuatan entiti boleh memperkenalkan kelemahan keselamatan. Adalah disyorkan untuk mendayakannya selepas menyelesaikan masalah atau melaksanakan langkah keselamatan alternatif dengan sewajarnya.
Atas ialah kandungan terperinci Mengapa Saya Mendapat \"SOAP-ERROR: Parsing WSDL: Can\'t load from ...\" Ralat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!