致命错误:未find类“SoapClient”
我正在尝试一个简单的Web服务示例,即使我在php.ini
文件中取消了注释extension=php_soap.dll
,我也会得到这个错误:
致命错误:在第2行中找不到C:\ Program Files(x86)\ EasyPHP-5.3.9 \ www \ server.php中的类“SoapClient”
诊断
在脚本文件中查找以下内容
phpinfo();
如果您找不到Soap Client
设置为enabled
如下所示:
固定
请执行下列操作:
- find你的apache bin文件夹中的
php.ini
,即Apache/bin/php.ini
- 删除
;
从extension=php_soap.dll
开始 - 重新启动你的Apache服务器
- 看你的
phpinfo();
再次检查你是否看到与上面类似的图片 - 如果你这样做,问题解决了!
另一方面,如果这不能解决你的问题,你可能想在这里检查SOAP的要求 。 同样在评论部分,你可以find关于连接到https的好build议。
要在PHP-7中安装SOAP,请在Ubuntuterminal中运行以下命令:
sudo apt-get install php7.0-soap
对于AWS(RHEL):
sudo yum install php56-soap
(56这里是5.6 PHP版本 – 把你的版本在这里)。
我必须跑
php-config --configure-options --enable-soap
作为根,并重新启动Apache。
这工作! 现在我的phpinfo()调用显示了SOAP部分。
我没有find phpinfo()
的SOAP
部分,所以我不得不安装它。
有关信息, SOAP
扩展需要使用libxml
PHP扩展。 这意味着传递--enable-libxml
也需要根据http://php.net/manual/en/soap.requirements.php
从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.reboot
要在PHP5.6中安装SOAP,请在Ubuntu 14.04terminal中运行以下代码:
sudo apt-get install php5.6-soap service php5.6-fpm restart service apache2 restart
查看是否启用了SOAP:
php -m
(您应该在返回的文本之间看到SOAP。)
你必须inheritancenusoap.php
类,并把它放在你的项目目录中,你可以从互联网上下载它。
使用此代码:
require_once('nusoap.php');