it-swarm.com.de

Wie aktiviere ich --enable-soap in PHP unter Linux?

Das ist viel die Frage. Ich habe PHP 5.2.9 unter Apache und kann PHP nicht aktualisieren. Kann ich SOAP in PHP 5.2.9 aktivieren? Das PHP Handbuch hat überhaupt nicht geholfen, als es sagte: "Um die SOAP Unterstützung zu aktivieren, konfigurieren Sie PHP mit --enable-soap." Wie konfiguriere ich?

63
netrox

Um SOAP funktionsfähig zu sein, muss normalerweise nicht PHP aus dem Quellcode kompiliert werden. Ich würde empfehlen, dies nur als letzte Option zu versuchen.

Überprüfen Sie, ob Ihre PHP-Informationen zu SOAP extensions:

$ php -i | grep -i soap

um sicherzustellen, dass die Erweiterung PHP fehlt.

Angenommen, Sie sehen nichts über SOAP in der phpinfo, sehen Sie, welche PHP =SOAP Pakete für Sie verfügbar sein könnten.

In Ubuntu/Debian können Sie suchen mit:

$ apt-cache search php | grep -i soap

oder in RHEL/Fedora können Sie suchen mit:

$ yum search php | grep -i soap

Normalerweise stehen Ihnen zwei PHP SOAP) - Pakete zur Verfügung, normalerweise php-soap Und php-nusoap. php-soap Das bekommen Sie normalerweise, wenn Sie PHP mit --enable-soap konfigurieren.

In Ubuntu/Debian können Sie installieren mit:

$ Sudo apt-get install php-soap

Oder in RHEL/Fedora können Sie installieren mit:

$ Sudo yum install php-soap

Nach der Installation müssen Sie möglicherweise eine INI-Datei ablegen und Apache neu starten.

143
ghbarratt

Was Ihre Frage betrifft: Nein, wenn die Aktivierung von .ini Nicht ausreicht und Sie PHP nicht aktualisieren können, können Sie nicht viel tun. Einige Module, aber nicht alle, können ohne Neukompilierung hinzugefügt werden (zypper install php5-soap, yum install php-soap). Wenn dies nicht ausreicht, installieren Sie eine PEAR class für interpretierte SOAP support (NuSOAP, etc.)).

Im Allgemeinen werden die doppelten Gedankenstriche --switches Verwendet, wenn PHP von Grund auf neu kompiliert wird.

Sie würden das PHP= Quellpaket (etwa als komprimierter .tgz - Tarball) herunterladen, es irgendwo erweitern und dann, beispielsweise unter Linux, das Konfigurationsskript ausführen

./configure --prefix ...

Der von Ihrem PHP verwendete Befehl configure kann mit phpinfo() angezeigt werden. Wenn Sie ihn identisch wiederholen, erhalten Sie eine genaue Kopie des PHP Sie haben jetzt installiert. Wenn Sie --enable-soap hinzufügen, wird SOAP zusätzlich zu allem anderen aktiviert.

Das heißt, wenn Sie nicht mit PHP Neukompilierung, tun Sie es nicht vertraut sind. Es werden auch mehrere Hilfsbibliotheken benötigt, die Sie möglicherweise haben oder auch nicht verfügbar - freetype, Gd, libjpeg, XML, expat und so weiter und so fort (es ist nicht genug, dass sie - installiert; sie müssen eine Entwicklerversion sein, dh mit Headern usw. In den meisten Distributionen ist die Installation von libjpeg möglicherweise nicht ausreichend und wird möglicherweise benötigt libjpeg-dev Auch).

Ich muss eine separate virtuelle Maschine mit allem, was für meine Zwecke der Neukompilierung installiert ist, führen.

6
LSerni

Falls Sie Ubuntu auf Ihrem Computer installiert haben, helfen Ihnen die folgenden Schritte:

  1. Überprüfen Sie zuerst in Ihrer PHP-Testdatei, ob Sie Seife (Client/Server) haben oder nicht, indem Sie phpinfo () verwenden. und überprüfen Sie die Ergebnisse im Browser. Falls Sie es haben, sieht es folgendermaßen aus (wenn nicht, fahren Sie mit Schritt 2 fort):

enter image description here

  1. Öffne dein Terminal und füge ein: Sudo apt-get install php-soap.

  2. Starten Sie Ihren Apache2-Server im Terminal neu: Service Apache2-Neustart.

  3. Um dies zu überprüfen, verwenden Sie Ihre PHP-Testdatei erneut.

5
Noha Salah