如何安装soap扩展?

时间:2010-03-24 15:52:09

标签: php soap dreamhost

如何安装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。

9 个答案:

答案 0 :(得分:82)

对于Windows

  1. php.ini 中查找extension=php_soap.dll,然后删除该行开头的注释分号。最后检查 conf.d 目录下的soap.ini

  2. 重新启动您的服务器。

  3. 对于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
    

答案 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 |更多