要用到 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
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!