如何安装Soap?
我收到了这个错误:
致命错误:第16行的/home/user/mysite.com/path/to/file.php中找不到类'SoapClient'
我在DreamHost中托管我的网站,他们不支持任何第三方安装。
更新:
我使用以下脚本复制了php.ini文件:http://sxi.sabrextreme.com/dh-phpini
我正在使用网站上的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。
答案 0 :(得分:82)
在 php.ini 中查找extension=php_soap.dll
,然后删除该行开头的注释分号。最后检查 conf.d 目录下的soap.ini
。
重新启动您的服务器。
的Apache
sudo apt-get install php7.0-soap
sudo systemctl restart apache2
<强> PHP5 强>
sudo apt-get install php-soap
sudo systemctl restart apache2
的Apache
sudo zypper in php7-soap
sudo systemctl restart apache2
Nginx的
sudo zypper in php7-soap
sudo systemctl restart nginx
答案 1 :(得分:46)
ubuntu 在 PHP7 上安装php_soap
使用以下命令。 Reference
sudo apt-get install php7.0-soap
sudo systemctl restart apache2.service
对于旧版本的php,请使用以下命令并重启apache。
apt-get install php-soap
答案 2 :(得分:2)
在php.ini中找到这行:
;extension=soap
然后删除分号;
并重新启动Apache服务器
答案 3 :(得分:1)
Dreamhost现在在他们的PHP 5.3版本中包含了SoapClient。您可以在dreamhost控制面板的域设置部分切换您的php版本。
答案 4 :(得分:1)
我有同样的问题,我的php.ini中没有extension = php_soap.dll 但这是因为我从一个旧的和以前的PHP版本复制了php.ini(不是一个好主意)。 我在ext目录中找到了dll,所以我可以把它自己放到php.ini中 延长= php_soap.dll Apache重新启动后,所有使用soap:)
答案 5 :(得分:1)
请按照以下步骤操作:
server2-username@localhost
答案 6 :(得分:1)
在使用php7.3的Ubuntu中:
sudo apt install php7.3-soap
sudo service apache2 restart
答案 7 :(得分:0)
他们不支持它,因为他们不会帮助你或负责你的任何东西,但你可以安装自定义扩展。为此,你需要先set up a local install of php 5,在这个过程中你可以编译你需要的扩展,或者你可以在事后将它们动态地添加到php.ini。
答案 8 :(得分:0)
如何使用Linux Ubuntu ...
sudo apt-get install php7.1-soap
检查文件php_soap.ao是否在“ / usr / lib / php / 20160303 /”上
ls / usr / lib / php / 20160303 / | grep -i肥皂 肥皂 php_soap.so
sudo vi /etc/php/7.1/cli/php.ini
更改该行; extension = php_soap.dll 至 extension = php_soap.so
sudo systemctl重新启动apache2
CH ...
php -m |更多