web-dev-qa-db-ja.com

SOAP拡張機能をインストールするにはどうすればよいですか?

Soapをインストールするにはどうすればよいですか?

私はこのエラーを受け取りました:

致命的なエラー:16行目の/home/user/mysite.com/path/to/file.phpにクラス 'SoapClient'が見つかりません

サイトをDreamHostでホストしていますが、サードパーティのインストールをサポートしていません。

更新:

このスクリプトを使用してphp.iniファイルをコピーしました:http://sxi.sabrextreme.com/dh-phpini

WebサイトからAPIを使用していますが、次のようなメッセージが表示されます。

#######################################################################
## You need to enable the following extensions in your PHP.ini file  ##
## php_openssl.dll          ##
## php_soap.dll             ##
#######################################################################

そして、私のphp.iniファイルが持っている拡張機能のリストは次のとおりです。

extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_Gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_Java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_mysql.dll
;extension=php_oci8.dll
**extension=php_openssl.dll**
;extension=php_Oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_yaz.dll
;extension=php_Zip.dll

問題は、拡張子php_soap.dllが見つからないことです。

45

Windowsの場合

  1. 見つける extension=php_soap.dll または extension=soap inphp.iniおよび行の先頭にあるコメントセミコロンを削除します。最終的にsoap.iniconf.dディレクトリの下。

  2. サーバーを再起動します。

Linuxの場合

Ubuntu:

PHP7

Apache

Sudo apt-get install php7.0-soap 
Sudo systemctl restart Apache2

PHP5

Sudo apt-get install php-soap
Sudo systemctl restart Apache2

OpenSuse:

PHP7

Apache

Sudo zypper in php7-soap
Sudo systemctl restart Apache2

Nginx

Sudo zypper in php7-soap
Sudo systemctl restart nginx
93
M Arfan

ubuntuでインストールするphp_soap onPHP7以下のコマンドを使用します。 参照

Sudo apt-get install php7.0-soap
Sudo systemctl restart Apache2.service

古いバージョンのphpの場合、以下のコマンドを使用してApacheを再起動します。

apt-get install php-soap
49
TIGER

php.iniで次の行を見つけます。

;extension=soap

セミコロン;を削除して、Apacheサーバーを再起動します

7
Gouda Elalfy

DreamhostのPHP 5.3ビルドにSoapClientが含まれるようになりました。dreamhostコントロールパネルのドメインセットアップセクションで、PHPのバージョンを切り替えることができます。

1
rosswil

同じ問題があり、php.iniにextension = php_soap.dllがありませんでしたが、これは、以前のphpバージョンからphp.iniをコピーしたためです(お勧めできません)。 extディレクトリでdllを見つけたので、Apacheの再起動がすべてsoapで機能した後、php.ini extension = php_soap.dllに自分自身を入れることができました:)

1
franc

Linux Ubuntuの使用方法...

Sudo apt-get install php7.1-soap

ファイルphp_soap.aoが「/ usr/lib/php/20160303 /」に存在するかどうかを確認します

ls/usr/lib/php/20160303/| grep -i soap soap.so php_soap.so

Sudo vi /etc/php/7.1/cli/php.ini

; extension = php_soap.dllの行をextension = php_soap.soに変更します

Sudo systemctl restart Apache2

チェッキング...

php -m |もっと

彼らはあなたを助けたり、あなたが何かをホースする責任を負わないので、彼らはそれをサポートしませんが、カスタム拡張機能をインストールすることはできます。そのためには、最初に php 5のローカルインストールを設定する が必要です。そのプロセス中に必要な拡張機能をコンパイルするか、事後にphp.iniに動的に追加することができます。

0
prodigitalson