web-dev-qa-db-ja.com

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

私は簡単なWebサービスの例を試していますが、extension=php_soap.dllファイルのphp.iniのコメントを外したにもかかわらず、このエラーが発生します。

致命的なエラー:クラス 'SoapClient'がC:¥Program Files(x86)¥EasyPHP-5.3.9¥www¥server.phpにオンラインで見つかりません2

171
Figen Güngör

診断

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

phpinfo();

Soap Clientenabledに設定されていない場合は次のようにします。 the way soap should appear in phpinfo()

修正

以下をせよ:

  1. Apachebinフォルダーでphp.iniを見つけます。つまり、Apache/bin/php.ini
  2. ;の先頭からextension=php_soap.dllを削除します
  3. Apacheサーバーを再起動します
  4. phpinfo();をもう一度調べて、上の図と同様の画像が表示されるかどうかを確認してください
  5. そうした場合、問題は解決しました!

一方、これで問題が解決しない場合は、 requirements for SOAP here here を確認することをお勧めします。また、コメントセクションでは、httpsへの接続に関する適切なアドバイスを見つけることができます。

312
Morgan Wilde

PHP [7]にSOAPをインストールするには、Ubuntu端末で以下を実行します。

Sudo apt-get install php7.0-soap

PHP [7.1]にSOAPをインストールするには、Ubuntu端末で以下を実行します。

Sudo apt-get install php7.1-soap

PHP [7.2]にSOAPをインストールするには、Ubuntu端末で次のコマンドを実行します。

Sudo apt-get install php7.2-soap

PHP [7.3]にSOAPをインストールするには、Ubuntu端末で次のコマンドを実行します。

Sudo apt-get install php7.3-soap
118
Nahid

AWS(RHEL)の場合:

Sudo yum install php56-soap

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

20
OZ_

PHP5.6にSOAPをインストールするには、Ubuntu 14.04ターミナルで以下を実行してください。

Sudo apt-get install php5.6-soap
service php5.6-fpm restart
service Apache2 restart

SOAPが有効かどうかを確認します。

php -m

(返されたテキストの間にSOAPが表示されます。)

14
Jasom Dotnet

走らなければならなかった

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

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

それはうまくいった!今私のphpinfo()呼び出しはSOAPセクションを示しています。

10

この問題は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
8
Nanhe Kumar

私はphpinfo()SOAPセクションを見つけられないので、インストールする必要がありました。

詳しくは、SOAP拡張子にはlibxml PHP拡張子が必要です。これは、 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:チャンネル://pear.php.net/SOAP-0.13.0

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

    インストールOK:チャンネル://pear.php.net/HTTP_Request2

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

シェルからコマンド

1.pearインストールSOAP

再起動

7
RafaSashi

Docker *の場合は、次の行を追加してください。

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

*:Debianベースの画像、すなわち。 Alpineの亜種では動作しません。

1
Attila Fulop

あなたはnusoap.phpクラスを継承してそれをあなたのプロジェクトディレクトリに入れる必要があります、あなたはそれを インターネットからダウンロードすることができます

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

require_once('nusoap.php');
0
Wondie