我正在尝试一个简单的web服务示例,即使我在php.ini文件中未注释extension=php_soap.dll,我也会得到这个错误:
致命错误:类'SoapClient'没有在C:\Program Files (x86)\ EasyPHP-5.3.9\www\server.php第2行找到
我正在尝试一个简单的web服务示例,即使我在php.ini文件中未注释extension=php_soap.dll,我也会得到这个错误:
致命错误:类'SoapClient'没有在C:\Program Files (x86)\ EasyPHP-5.3.9\www\server.php第2行找到
当前回答
要在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。)
其他回答
在我的案例中,Symfony缓存导致了问题, 运行composer安装后,问题消失了。
诊断
在脚本文件中查找以下内容
phpinfo();
如果你不能找到Soap客户端设置为启用如下:
Fix
做以下几点:
在apache bin文件夹中找到php.ini,即apache /bin/php.ini 移除;从extension=php_soap.dll开始 重新启动Apache服务器 查找phpinfo();再次检查你是否看到了与上面相似的图片 如果你这么做了,问题就解决了!
另一方面,如果这不能解决您的问题,您可能需要检查这里的SOAP需求。你也可以在评论区找到连接https的好建议。
你必须继承nusoop。php类并把它放到你的项目目录中,你可以从网上下载。
使用以下代码:
require_once('nusoap.php');
对于Docker*添加这一行:
RUN apt-get update && \
apt-get install -y libxml2-dev && \
docker-php-ext-install soap
*:对于基于debian的图像,即。对高山变种无效。
要在PHP-7中安装SOAP,请在Ubuntu终端上执行以下命令:
sudo apt-get install php7.0-soap
要在PHP-7.1中安装SOAP,请在Ubuntu终端上执行以下命令:
sudo apt-get install php7.1-soap
要在PHP-7.2中安装SOAP,请在Ubuntu终端上执行以下命令:
sudo apt-get install php7.2-soap
要在PHP-7.3中安装SOAP,请在Ubuntu终端上执行以下命令:
sudo apt-get install php7.3-soap