Basit bir web hizmeti örneği deniyorum extension=php_soap.dll
ve php.ini
dosyada uncommented olmasına rağmen bu hatayı alıyorum :
Önemli hata: 'SoapClient' sınıfı C: \ Program Files (x86) \ EasyPHP-5.3.9 \ www \ server.php satır 2'de bulunamadı
Basit bir web hizmeti örneği deniyorum extension=php_soap.dll
ve php.ini
dosyada uncommented olmasına rağmen bu hatayı alıyorum :
Önemli hata: 'SoapClient' sınıfı C: \ Program Files (x86) \ EasyPHP-5.3.9 \ www \ server.php satır 2'de bulunamadı
Yanıtlar:
Teşhis koymak
Betik dosyanızın içinde aşağıdakilere bakın
phpinfo();
Beğenmek için Soap Client
ayarlanmış bulamazsanız enabled
:
Fix
Aşağıdakileri yapın:
php.ini
sizin de apache bin klasöründe, IeApache/bin/php.ini
;
başından itibarenextension=php_soap.dll
phpinfo();
Tekrar bak ve yukarıdaki resme benzer bir resim görüp görmediğini kontrol etÖte yandan, bu sorununuzu çözmezse, burada SOAP gereksinimlerini kontrol etmek isteyebilirsiniz . Ayrıca yorum bölümünde https'ye bağlanma konusunda iyi tavsiyeler bulabilirsiniz.
;extension=php_openssl.dll
ulaşmaya çalıştığınız WSDL https protokolü altında ise
extension=soap
hile yapmak uncommenting .
SoapClient
Sınıf hala bulunamadı. Ben phpinfo () etkin görmek, uzantısı etkin, openssl de etkin, her şey yolunda ama sınıf bulunamadı. Wampserver 3.0 ve PHP 5.6 kullanıyorum ve Apache'yi yeniden başlattım ancak sorunu çözmüyor. Lütfen yardım et.
PHP-7'de SOAP kurmak için Ubuntu terminalinizde aşağıdaki komutu çalıştırın:
sudo apt-get install php7.0-soap
PHP-7.1'de SOAP kurmak için Ubuntu terminalinizde aşağıdakileri çalıştırın:
sudo apt-get install php7.1-soap
PHP-7.2'de SOAP kurmak için Ubuntu terminalinizde aşağıdakileri çalıştırın:
sudo apt-get install php7.2-soap
PHP-7.3'e SOAP yüklemek için Ubuntu terminalinizde aşağıdakileri çalıştırın:
sudo apt-get install php7.3-soap
sudo apt-get install php-soap
sudo apt-get install php7.2-soap
AWS (RHEL) için:
sudo yum install php56-soap
(56 burada 5.6 PHP sürümüdür - sürümünüzü buraya koyun).
sudo yum install php56w-soap
! W'yi unuttum ve bu kuruluyor ve hala işe yaramadı. Bunu anlamak biraz zaman aldı ama şimdi işe yarıyor.
PHP5.6'da SOAP kurmak için Ubuntu 14.04 terminalinizde aşağıdakileri çalıştırın:
sudo apt-get install php5.6-soap
service php5.6-fpm restart
service apache2 restart
SOAP'ın etkin olup olmadığına bakın:
php -m
(Döndürülen metin arasında SABUN görmelisiniz.)
Koşmalıydım
php-config --configure-options --enable-soap
root olarak yeniden başlatın ve apache'yi yeniden başlatın.
İşe yaradı! Şimdi phpinfo () çağrım SOAP bölümünü gösteriyor.
reboot
sunucu yeniden önyükleme değil, apache yeniden önyükleme belirtilmelidir.
Ben bulmak couln'tSOAP
bölümünde phpinfo()
bunu yüklemek zorunda.
Ek bilgi için SOAP
eklenti libxml
PHP eklentisi gerektirir . Bu --enable-libxml
, http://php.net/manual/en/soap.requirements.php'ye göre içeri aktarmanın da gerekli olduğu anlamına gelir.
WHM panelinden
SOAP 0.13.0'ı yükleyin
UYARI: "armut / HTTP_Request", "armut / HTTP_Request2" lehine kullanımdan kaldırıldı
install ok: kanal: //pear.php.net/SOAP-0.13.0
HTTP_Request2'yi yükle (isteğe bağlı)
install ok: kanal: //pear.php.net/HTTP_Request2
Hizmetleri Yeniden Başlat »HTTP Sunucusu (Apache)
Kabuk komutundan
1. armut yüklemek SOAP
2.reboot
PHP 7.0.22-0ubuntu0.16.04.1 nginx üzerinde bu sorunu çözdüm
sudo apt-get install php7.0-soap
sudo systemctl restart php7.0-fpm
sudo systemctl restart nginx
Docker * için bu satırı ekleyin:
RUN apt-get update && \
apt-get install -y libxml2-dev && \
docker-php-ext-install soap
*: Debian tabanlı görüntüler için, yani. alpin varyantları için çalışmaz.
XAMPP kullanıcıları için php.ini
içindeki dosyayı açın ve başlangıcını C:/xampp/php
kaldırın . Sonra Apache'yi yeniden başlatın ve hepsi bu!;
extension=soap
nusoap.php
Sınıfı devralmanız ve proje dizininize koymanız gerekir, internetten indirebilirsiniz .
Bu kodu kullanın:
require_once('nusoap.php');