Fatal error: Class 'SoapClient' not found
我正在尝试一个简单的Web服务示例,即使我未注释php.ini文件中的extension=php_soap.dll,也遇到此错误:
Fatal error: Class 'SoapClient' not found in C:\Program Files (x86)\EasyPHP-5.3.9\www\server.php on line 2
-
确定要编辑Apache / bin / php.ini并在此之后重新启动apache吗?
-
谢谢。 显然,我更改了另一个php.ini文件。 我在Apache文件中找到了一个。
-
sudo apt-get为尚未安装php7.0的人安装php7.0
诊断
在脚本文件中查找以下内容
如果找不到像这样设置为enabled的Soap Client:
固定
请执行下列操作:
在您的apache bin文件夹中找到php.ini,即Apache/bin/php.ini
从extension=php_soap.dll的开头删除;
重新启动您的Apache服务器
再次查找您的phpinfo();,并检查是否看到与上面类似的图片
如果您这样做,问题就解决了!
另一方面,如果这不能解决您的问题,则可能需要在此处检查SOAP的要求。另外,在评论部分,您可以找到有关连接到https的好的建议。
-
不要忘记也取消注释此行:;extension=php_openssl.dll如果您尝试访问的WSDL在https协议下
-
就我而言,它没有安装,并且在使用php5.6 centos6.9的um.php中没有extension = php_soap.dll
-
我正在使用xamp,只是取消注释extension=soap就可以了。
-
sudo apt-get install php7.0-soap为尚未安装它的人
-
php -i | grep在Linux系统上使用命令行使用Soap。
-
如果它不起作用,也许您需要先安装soap:sudo apt install php5.6-soap。然后重新启动Apache
-
对我来说,仍然找不到SoapClient类。我在phpinfo()中看到启用了它,扩展启用了,openssl也启用了,一切正常,但是找不到类。我使用Wampserver 3.0和PHP 5.6,但重新启动了Apache,但无法解决问题。请帮忙。
-
我正在使用xampp。我的文件中没有extension=php_soap.dll。我刚刚添加了这一行文本,它确实有效。
-
如何在共享服务器中启用?
要在PHP-7中安装SOAP,请在Ubuntu终端中运行以下命令:
1
| sudo apt-get install php7.0-soap |
要在PHP-7.1中安装SOAP,请在Ubuntu终端中运行以下命令:
1
| sudo apt-get install php7.1-soap |
要在PHP-7.2中安装SOAP,请在您的Ubuntu终端中运行以下命令:
1
| sudo apt-get install php7.2-soap |
要在PHP-7.3中安装SOAP,请在您的Ubuntu终端中运行以下命令:
1
| sudo apt-get install php7.3-soap |
-
另外一定要运行sudo service apache2 reload
-
在我的情况下是sudo apt-get install php-soap
-
我已经升级到php7,却忘记了重新安装php70w-soap(我总是完全删除旧版本的PHP)
-
如果我想安装php7.3-soap :-)怎么办?我迷路了。
-
@chris您尝试了吗:sudo apt-get install php7.2-soap
-
您还必须在php.ini文件中取消注释extension=soap(删除;)
-
收到此错误:E:找不到正则表达式php7.2-soap的任何软件包
-
@ParminderSingh您可以尝试sudo apt-get install php-soap
-
@Nahid谢谢,我尝试了一下,但是没有用,也没有将其显示为已安装的肥皂包,然后我通过直接从URL中提取肥皂包来安装它并成功了。
-
php-soap是Debian上的通用软件包名称,它会自动映射到已安装的PHP版本(至少是默认版本)。
对于AWS(RHEL):
1
| sudo yum install php56-soap |
(这里的56是5.6 PHP版本-将您的版本放在此处)。
-
这可能是sudo yum install php56w-soap!我忘记了w,并且此安装程序仍然无法正常工作。花了一段时间才能解决这个问题,但现在可以了。
-
对我来说是sudo apt-get install php5.6-soap
-
无需版本,只需php-soap
要在PHP5.6中安装SOAP,请在Ubuntu 14.04终端中运行以下命令:
1 2 3
| sudo apt-get install php5.6-soap
service php5.6-fpm restart
service apache2 restart |
查看是否启用了SOAP:
(您应该在返回的文本之间看到SOAP。)
我必须跑步
1
| php-config --configure-options --enable-soap |
以root身份并重新启动apache。
可行!现在,我的phpinfo()调用显示了SOAP部分。
-
应提及reboot,其apache重启,而不是服务器重启。
我在PHP 7.0.22-0ubuntu0.16.04.1 nginx上解决了这个问题
1 2 3 4
| sudo apt-get install php7.0-soap
sudo systemctl restart php7.0-fpm
sudo systemctl restart nginx |
我在phpinfo()中找不到SOAP部分,因此我必须安装它。
有关信息,SOAP扩展名需要libxml PHP扩展名。这意味着根据http://php.net/manual/en/soap.requirements.php也需要传入--enable-libxml
从WHM面板
软件?模块安装程序? PHP扩展和应用程序包
安装SOAP 0.13.0
警告:不赞成使用" pear / HTTP_Request",而建议使用" pear / HTTP_Request2"
确定安装:channel://pear.php.net/SOAP-0.13.0
安装HTTP_Request2(可选)
确定安装:channel://pear.php.net/HTTP_Request2
重新启动服务? HTTP服务器(Apache)
从shell命令
1.pear安装SOAP
2.重启
-
WHM的EasyApache界面在"穷举选项"列表中还具有启用"肥皂"的选项。
对于Docker *,请添加以下行:
1 2 3
| RUN apt-get update && \
apt-get install -y libxml2-dev && \
docker-php-ext-install soap |
*:对于基于debian的图像,即。不适用于高山变种。
您必须继承nusoap.php类并将??其放在项目目录中,您可以从Internet下载它。
使用此代码:
1
| require_once('nusoap.php'); |
-
NuSoap创建一个Web服务(服务器)。最初的问题是使用WebService(客户端),因此NuSoap与上述问题之间没有关系
-
也许您在使用nusoap时想到了什么,这就是为什么您认为这一点。
-
"互联网。"