PHP Class SoapClient not found解决方法

yipeiwu_com5年前PHP代码库

要用到 SoapClient, new 了一个提示 Class ‘SoapClient' not found, 检查了下 phpinfo, 原因是当初没有编译这个扩展, 只好现在再加上了。

php在调用webservice时,报告如下类似错误:

( ! ) Fatal error: Class 'SoapClient' not found in E:/WebSrv/CI/system/libraries/WebService.php on line 17

解决方法:

打开php.ini,找到php_soap.dll , 把前面的分号去掉

;extension=php_soap.dll

前提是,已经安装了 php_soap.dll

笔者的 PHP 安装在 /usr/local/php/ 目录下,如果没有安装可以参考下面的方法

$ cd /home/downloads/php-5.6.12   # 进入到 PHP 源码目录
$ cd ext/soap  # 进入 soap 扩展目录
$ /usr/local/php/bin/phpize # 准备添加扩展
$ ./configure -with-php-config=/usr/local/php/bin/php-config --enable-soap   # 启用 SOAP
$ make
$ make install

扩展安装完成后提示扩展已安装到这个目录下:

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

编辑 php.ini 文件, 启用 extension_dir 扩展目录, 添加 soap.so 扩展:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"
; On windows:
; extension_dir = "ext"
extension=soap.so    # 添加 SOAP 扩展

重启 php-fpm 使生效

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

Windows 下编辑 php.ini 取消该行注释即可

extension=php_soap.dll

相关文章

PHP钩子实现方法解析

本文实例讲述了PHP钩子实现方法。分享给大家供大家参考,具体如下: PHP编程的钩子实现,示例讲解和解释它们的作用,写了一个样板的钩子实现 钩子是编程里一个常见的概念,非常的重要。它...

有关JSON以及JSON在PHP中的应用

JSON 基础 简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客...

PHP过滤黑名单关键字的方法

本文实例讲述了PHP过滤黑名单关键字的方法。分享给大家供大家参考。具体实现方法如下: 关键字过滤非常的简单把要过滤的内容存在数组或文档中,然后用户提交时我们进行preg_match或is...

PHP实现的进度条效果详解

PHP实现的进度条效果详解

本文实例讲述了PHP实现的进度条效果。分享给大家供大家参考,具体如下: 在做采集的时候,想通过php来实现一个进度条功能,谷歌了一下,找了个合适的代码。下面直接上代码: <&...

详解PHP的Yii框架中扩展的安装与使用

扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你...