如何安装肥皂扩展?

我如何安装肥皂?

我得到了这个错误:

致命错误: 在第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。

343391 次浏览

他们不支持,因为在他们不会帮助你或负责你管理任何东西,但你可以安装自定义扩展。为此,您需要首先编译 在本地安装 php 5,在此过程中,您可以编译您需要的扩展,或者您可以在事后将它们动态添加到 php.ini。

Dreamhost 现在在 PHP 5.3版本中包含了 SoapClient。您可以在 Dreamhost 控制面板的域设置部分切换您的 php 版本。

适用于视窗

  1. Php.ini中查找 extension=php_soap.dllextension=soap,并删除行首的注释分号。最终在 告诉我目录下检查 soap.ini

  2. 重启服务器。

为了 Linux

Ubuntu:

PHP7

阿帕奇人

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

PHP5

sudo apt-get install php-soap
sudo systemctl restart apache2

OpenSuse:

PHP7

阿帕奇人

sudo zypper in php7-soap
sudo systemctl restart apache2

Nginx

sudo zypper in php7-soap
sudo systemctl restart nginx

我遇到了同样的问题,在 php.ini 中没有扩展名 = php _ soap.dll 但这是因为我从旧的和以前的 php 版本中复制了 php.ini (这不是一个好主意)。 我在 ext 目录中找到了 dll,所以我可以把它放到 php.ini 中 Extension = php _ soap. dll 在 Apache 重新启动后,所有的工作都与肥皂:)

Ubuntu中要在 PHP7上安装 php_soap,请使用以下命令

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

对于旧版本的 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/上是否存在文件 php_soap.ao

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

请按照以下步骤:

 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

在 Ubuntu 中使用 php7.3:

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

对于 Ubuntu + php 5.6 + nginx 我使用

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

只有在那之后,它才开始工作。