Php 如何安装soap扩展?

Php 如何安装soap扩展?,php,soap,dreamhost,Php,Soap,Dreamhost,如何安装Soap 我得到了这个错误: 致命错误:在第16行的/home/user/mysite.com/path/to/file.php中找不到类“SoapClient” 我在DreamHost中托管我的站点,它们不支持任何第三方安装 更新: 我用以下脚本复制了php.ini文件:http://sxi.sabrextreme.com/dh-phpini 我正在使用一个网站上的API,上面写着这样的内容: ##############################################

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

他们不支持它,因为他们不会帮助您或对您的任何操作负责,但您可以安装自定义扩展。要做到这一点,您首先需要在这个过程中编译所需的扩展,或者可以在编译完成后将它们动态添加到php.ini中。

Dreamhost现在在其PHP5.3版本中包含了SoapClient。您可以在dreamhost控制面板的域设置部分切换php版本。

For Windows
  • 在php.ini中查找
    extension=php\u soap.dll
    extension=soap
    ,并删除行开头的注释分号。最后检查conf.d目录下的
    soap.ini

  • 重新启动服务器

  • 对于Linux Ubuntu: PHP7 阿帕奇

    PHP5

    sudo apt-get install php-soap
    sudo systemctl restart apache2
    
    OpenSuse: PHP7 阿帕奇

    Nginx


    我也有同样的问题,我的php.ini中没有extension=php_soap.dll 但这是因为我从旧的和以前的php版本复制了php.ini(这不是一个好主意)。 我在ext目录中找到了dll,所以我可以自己把它放到php.ini中 extension=php\u soap.dll
    Apache重新启动后,所有人都使用soap:)

    ubuntu中安装
    php\u soap
    PHP7上使用以下命令

    对于旧版本的php,请使用下面的命令并重新启动apache

    apt-get install php-soap
    

    在php.ini中找到这一行:

    ;extension=soap
    

    然后删除分号
    并重新启动Apache服务器

    如何为Linux Ubuntu

    sudo apt-get install php7.1-soap 
    
    检查
    /usr/lib/php/20160303/

    ls /usr/lib/php/20160303/ | grep -i soap
    soap.so
    php_soap.so
    
    更改行:

    ;extension=php_soap.dll

    extension=php\u soap.so

    sudo systemctl restart apache2
    
    检查

    php -m | more
    

    请按照以下步骤操作:

     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
    
    在带有php7.3的Ubuntu中:

    sudo apt install php7.3-soap 
    sudo service apache2 restart
    

    对离开Dreamhost。事实上,我并不拥有这个网站:(@neo:如果它不是一个任务关键型网站,它们也没那么糟糕。对于OpenSuse用户:应该使用
    sudo-zypper安装php7.0-soap
    ;但是需要提供正确的存储库(
    sudo-zypper-repos
    /
    sudo-zypper-addrepo
    )为了检索PHP扩展。@Kamafeather,如何添加repo?请再次阅读,我编写了命令。要使用的正确repo取决于Opensuse版本和安装的PHP版本。请检查“devel存储库”()和“Wiki-其他存储库”()。如果在WIN10上使用XAMPP,则在
    php.ini
    中有
    extension=soap
    而不是
    extension=php\u soap.dll
    。只需取消注释,重启apacheThx后它就会工作,这对php 7.4版有很大帮助
    sudo vi /etc/php/7.1/cli/php.ini
    
    sudo systemctl restart apache2
    
    php -m | more
    
     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
    
    sudo apt install php7.3-soap 
    sudo service apache2 restart