80

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がそこに見つからないことです。

4

10 に答える 10

169

Windowsの場合

  1. extension=php_soap.dllまたはphp.iniextension=soapで検索し、行の先頭にあるコメント付きのセミコロンを削除します。最終的には、 conf.dディレクトリの下を確認します。soap.ini

  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
于 2014-03-14T06:25:14.127 に答える
54

Ubuntuphp_soapPHP7にインストールするには、以下のコマンドを使用します。参照

sudo apt-get install php7.0-soap
sudo systemctl restart apache2.service

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

apt-get install php-soap
于 2017-01-07T05:46:56.290 に答える
14

php.iniでこの行を見つけてください:

;extension=soap

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

于 2018-08-07T11:24:48.040 に答える
3

以下の手順に従ってください。

 1) Locate php.ini in your apache bin folder, I.e Apache/bin/php.ini
 2) Remove the ; from the beginning of extension=php_soap.dll
 3) Restart your Apache server (by using : 
    # /etc/init.d/apache2 restart OR 
    $ sudo /etc/init.d/apache2 restart OR 
    $ sudo service apache2 restart)
 4) Look up your phpinfo();

 you may check here as well,if this does not solve your issue:  
 https://www.php.net/manual/en/soap.requirements.php
于 2020-01-09T12:30:57.057 に答える
2

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

于 2015-09-01T18:00:38.873 に答える
2

LinuxUbuntuの使い方...

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 | more
于 2019-05-13T00:17:24.887 に答える
2

php7.3を使用するUbuntuの場合:

sudo apt install php7.3-soap 
sudo service apache2 restart
于 2020-04-26T01:27:48.090 に答える
1

Dreamhostは、PHP5.3ビルドにSoapClientを含めるようになりました。phpのバージョンは、dreamhostコントロールパネルのドメイン設定セクションで切り替えることができます。

于 2011-03-03T08:29:31.297 に答える
0

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

于 2010-03-24T16:18:39.863 に答える
0

Ubuntu + php 5.6+nginxの場合は使用しました

sudo apt install php5.6-soap
sudo systemctl restart nginx
sudo systemctl restart php5.6-fpm.service

その後、それは機能し始めました。

于 2021-12-02T07:14:28.300 に答える