這篇文章主要介紹了PHP Class SoapClient not found解決方案,需要的朋友可以參考下
要用到 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-dirextension_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
相關推薦:
Lumen timezone 時區設定方法
php nginx 即時輸出的簡單實現方法的講解
PHP注釋文法規範與命名規範詳解