Zum Inhalt springen

Probleme mit SoapClient unter PHP5 bei der Extension eim2nusoap

Erstellt am 10. Februar 2008 · 2 Antworten · letzte Antwort am 10. Februar 2008

Tags: PHP, Frage

typo3tester ·

Hallo,

ich habe auf dem lokalen Testrechner die Amazon Search-Extension incl. eim2nusoap eingerichtet und mich dappelig gefreut, weil es so gut klappt.

Auf meinem Prod-Server bei HostEurope habe ich aber ein PHP5 laufen mit eingebautem SoapClient.

Hier kommt die Fehlermeldung:

SoapClient::SoapClient() expects parameter 2 to be array

Ich habe einen Hinweis im Netz gefunden, daß es hier zu einem Konflikt kommt, zwischen der Klasse soapclient in der Extension und dem SoapClient aus PHP.

Auf die php.ini habe ich keinen direkten Zugriff um die Soap-Extension zu disablen.

Ich habe einige Änderungen in der php.ini über .htaccess gemacht, mir ist aber nicht bekannt, daß ich damit eine ganze Extension ein- oder ausschalten kann.

In einem anderen Forum habe ich den Hinweis gefunden, in der nusoap-Extension alle Hinweise auf die Klasse soapclient in nusoapclient umzubenennen.

Würg, gibt es eine bessere Lösung?

Gruß, Regina

steffenk ·

nein. PHP5 hat Soap integriert und nusoap benutzt de selben Namen, also: Konflikt.

Aber anders: unter PHP5 braucht man nusoap nicht mehr sondern kann die Befehle native nutzen.

typo3tester ·

Hi,

naja ich hab den Brocken geschluckt und die paar Bezüge auf soapclient in nusoapclient umbenannt.

Außerdem mußte ich noch in der Datei nusoap.php die Zeile 7986

if (!extension_loaded('soap'))

auskommentieren, damit folgendes passiert:

/**
*For backwards compatiblity, define soapclient unless the PHP SOAP  extension is loaded.*/
class soapclient extends nusoap_client 
{

}

Jetzt läufts!!! 🙂
Ist vermutlich einfacher, als zu finden, wie ich die Extension amazon search (eim2amazonsearch) dazu bringe, mit native php Soap umzugehen.

Aber ich werde den Ersteller der beiden Extensions (die übrigens super sind) mal anmailen und vorschlagen, daß er in der nusoap-Extension von Haus aus andere Begriffe verwendet.

Gruß, Regina