致命的なエラー:クラス 'SoapClient'が見つかりません


202

簡単なWebサービスの例を試してextension=php_soap.dllphp.iniますが、ファイルでコメントを外してもこのエラーが発生します。

致命的なエラー: 2行目のC:\ Program Files(x86)\ EasyPHP-5.3.9 \ www \ server.phpにクラス 'SoapClient'が見つかりません


3
Apache / bin / php.iniを編集し、その後Apacheを再起動しましたか?
Shubham 2012

ありがとうございました。見たところ、別のphp.iniファイルを変更しました。Apacheファイルで見つけました。
FigenGüngör12年

sudo apt-get install php7.0まだインストールしていない人のために
FoxMcCloud

回答:


353

診断する

スクリプトファイル内で以下を検索します

phpinfo();

そのようなSoap Client設定が見つからない場合enabledphpinfo()での石鹸の表示方法

修正

以下をせよ:

  1. 見つけてphp.ini、あなたにApacheの binフォルダ、すなわちApache/bin/php.ini
  2. ;の最初から削除しますextension=php_soap.dll
  3. Apacheサーバーを再起動します
  4. phpinfo();もう一度調べて、上記と同様の画像が表示されるかどうかを確認します
  5. もしそうなら、問題は解決しました!

一方、これで問題が解決しない場合は、SOAP要件をここで確認できます。また、コメントセクションには、httpsへの接続に関する適切なアドバイスがあります。


12
この行もコメント解除することを忘れないでください。;extension=php_openssl.dll 到達しようとしているWSDLがhttpsプロトコルの下にある場合
juliangonzalez

私の場合、それはインストールされておらず、php5.6 centos6.9を使用してphp.in umにextension = php_soap.dllがありません
zero8

7
私はxampを使用してextension=soapいますが、コメントを外すだけでうまくいきます。
SAMPro

3
sudo apt-get install php7.0-soapまだインストールしていない人のために
FoxMcCloud

1
私にとって、SoapClientクラスはまだ見つかりません。私はそれがphpinfo()で有効になっているのを確認し、拡張機能が有効になっており、opensslも有効になっており、すべて問題ありませんが、クラスが見つかりません。Wampserver 3.0とPHP 5.6を使用していて、Apacheを再起動しましたが、問題は解決しません。助けてください。
イブ、

149

SOAPをPHP-7にインストールするには、Ubuntuターミナルで次のコマンドを実行します。

sudo apt-get install php7.0-soap

SOAPをPHP-7.1にインストールするには、Ubuntuターミナルで次のコマンドを実行します。

sudo apt-get install php7.1-soap

SOAPをPHP-7.2にインストールするには、Ubuntuターミナルで次のコマンドを実行します。

sudo apt-get install php7.2-soap

SOAPをPHP-7.3にインストールするには、Ubuntuターミナルで次のコマンドを実行します。

sudo apt-get install php7.3-soap

11
また、sudoサービスapache2 reloadを実行してください
Steve Obbayi

9
私の場合、それはsudo apt-get install php-soap
dhcgn 2017

私はphp7にアップグレードし、php70w-soapを再インストールするのを忘れていました(私は常に古いバージョンのPHPを完全に削除します)
zzapper

1
php7.3-soap :-)をインストールしたい場合はどうすればよいですか?迷っています。
クリス

@クリスあなたがしようとしました:sudo apt-get install php7.2-soap
Nahid

21

AWS(RHEL)の場合:

sudo yum install php56-soap

(56は5.6 PHPバージョンです-ここにあなたのバージョンを入れてください)。


3
これはかもしれないsudo yum install php56w-soap!私はwを忘れて、これがインストールされましたが、それでも機能しませんでした。これを理解するにはしばらく時間がかかりましたが、現在は機能しています。
SPRBRN 2016年

1
私にとってはsudo apt-get install php5.6-soap
Sukeshini

1
バージョンは必要ありません
。php

15

SOAPをPHP5.6にインストールするには、Ubuntu 14.04ターミナルで次のコマンドを実行します。

sudo apt-get install php5.6-soap
service php5.6-fpm restart
service apache2 restart

SOAPが有効になっているかどうかを確認します。

php -m

(返されたテキストの間にSOAPが表示されるはずです。)


11

私は走らなければなりませんでした

php-config --configure-options --enable-soap 

rootとして、Apacheを再起動します。

うまくいきました!これで、phpinfo()呼び出しにSOAPセクションが表示されます。


1
rebootサーバーの再起動ではなく、Apacheの再起動について言及する必要があります。
machineaddict 2015年

8

私は見つけるcouln'tSOAPにセクションをphpinfo()、私はそれをインストールする必要がありましたので。

詳しくは、SOAP拡張機能にはlibxmlPHP拡張機能が必要です。これは、http://php.net/manual/en/soap.requirements.php--enable-libxmlに従って渡すことも必要であることを意味します

WHMパネルから

  1. ソフトウェア»モジュールインストーラー»PHP拡張機能とアプリケーションパッケージ
  2. SOAP 0.13.0をインストールする

    警告:「pear / HTTP_Request」は「pear / HTTP_Request2」のために廃止されました

    インストールOK:channel://pear.php.net/SOAP-0.13.0

  3. HTTP_Request2をインストールする(オプション)

    インストールOK:channel://pear.php.net/HTTP_Request2

  4. サービスの再起動»HTTPサーバー(Apache)

シェルコマンドから

1.pearインストールSOAP

2.再起動


WHMのEasyApacheインターフェースには、Exhaustive OptionsリストでSoapを有効にするオプションもあります。
Andrew

8

私はこの問題をPHP 7.0.22-0ubuntu0.16.04.1 nginxで解決しました

sudo apt-get install php7.0-soap

sudo systemctl restart php7.0-fpm
sudo systemctl restart nginx

3

Docker *の場合は、次の行を追加します。

RUN apt-get update && \
    apt-get install -y libxml2-dev && \
    docker-php-ext-install soap

*:debianベースのイメージの場合。高山バリアントでは機能しません。


1

以下のためのXAMPPユーザー、オープンphp.iniにあるファイルC:/xampp/phpや削除;の先頭からextension=soap。次に、Apacheを再起動します。これで完了です。


0

nusoap.phpクラスを継承してプロジェクトディレクトリに配置する必要があります。インターネットからダウンロードできます。

このコードを使用してください:

require_once('nusoap.php');

2
NuSoapはWebサービス(サーバー)を作成します。最初の質問はWebService(クライアント)を使用することです。そのため、NuSoapと前述の問題の間には関係がありません
Carlos B. Feitoza Filho 14

おそらく、nusoapで作業しているときに何かを考えているので、これをセメントで固めました。
zero8

"インターネット。"
Attila Fulop

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.