我正在尝试一个简单的Web服务示例,即使我在extension=php_soap.dll
文件中取消注释php.ini
,我也会收到此错误:
致命错误:第2行的C:\ Program Files(x86)\ EasyPHP-5.3.9 \ www \ server.php中找不到类'SoapClient'
答案 0 :(得分:302)
<强>诊断强>
在脚本文件中查找以下内容
phpinfo();
如果找不到Soap Client
设置为enabled
,请执行以下操作:
<强>修正强>
执行以下操作:
php.ini
,即Apache/bin/php.ini
;
extension=php_soap.dll
phpinfo();
并检查您是否看到与上面相似的图片另一方面,如果这不能解决您的问题,您可能需要查看requirements for SOAP here。同样在评论部分,您可以找到有关连接到https的好建议。
答案 1 :(得分:117)
要在PHP-7中安装SOAP,请在Ubuntu终端中运行以下命令:
sudo apt-get install php7.0-soap
要在您的Ubuntu终端中运行以下PHP-7.1运行SOAP:
sudo apt-get install php7.1-soap
要在PHP-7.2中安装SOAP,请在Ubuntu终端中运行以下命令:
sudo apt-get install php7.2-soap
要在您的Ubuntu终端中运行以下PHP-7.3运行SOAP:
sudo apt-get install php7.3-soap
答案 2 :(得分:20)
对于AWS(RHEL):
sudo yum install php56-soap
(56这里是5.6 PHP版本 - 把你的版本放在这里)。
答案 3 :(得分:14)
要在PHP5.6中安装SOAP,请在Ubuntu 14.04终端中运行以下命令:
sudo apt-get install php5.6-soap
service php5.6-fpm restart
service apache2 restart
查看SOAP是否已启用:
php -m
(您应该在返回的文本之间看到SOAP。)
答案 4 :(得分:10)
我必须跑
php-config --configure-options --enable-soap
那很有效!现在我的phpinfo()调用显示了SOAP部分。
答案 5 :(得分:8)
我在PHP 7.0.22-0ubuntu0.16.04.1 nginx上解决了这个问题
$output
答案 6 :(得分:7)
我无法找到 SOAP
中的phpinfo()
部分,因此我必须安装它。
有关信息,SOAP
扩展名需要libxml
PHP扩展名。这意味着根据http://php.net/manual/en/soap.requirements.php
--enable-libxml
来自WHM小组
安装SOAP 0.13.0
警告:弃用“pear / HTTP_Request”以支持“pear / HTTP_Request2”
安装ok:channel://pear.php.net/SOAP-0.13.0
安装HTTP_Request2(可选)
安装ok:channel://pear.php.net/HTTP_Request2
重启服务»HTTP服务器(Apache)
来自shell命令
1.pear install SOAP
2.reboot
答案 7 :(得分:4)
对于 XAMPP用户,打开php.ini
中的C:/xampp/php
文件,然后从;
的开头删除extension=soap
。然后重新启动Apache即可!
答案 8 :(得分:1)
对于Docker *,请添加以下行:
RUN apt-get update && \
apt-get install -y libxml2-dev && \
docker-php-ext-install soap
*:用于基于debian的图像,即。不适用于高山变种。
答案 9 :(得分:0)
答案 10 :(得分:0)
在Centos 7.8和PHP 7.3上
yum install php-soap
service httpd restart
答案 11 :(得分:0)
对于PHP 8:
:value=this.selectedtemplate