[英]PHP: Fatal error: Class 'SoapClient' not found
首先,我已經閱讀了這個問題( 致命錯誤:未找到類“SoapClient” )並且已經完成了答案所說的一切。 但仍然遇到問題。
我在這里也發現了類似的問題( https://bugs.php.net/bug.php?id=64445 ),但它也沒有在那里解決。
我正在嘗試在 Win 7 64 上設置 PHP + Apache 環境。
PHP :php-5.5.17-Win32-VC11-x86。 線程安全。
阿帕奇:httpd-2.4.10-win32-VC11
所以,這是我用於 SOAP 的C:\\PHP\\php.ini
。 一切都設置正確:
extension=php_soap.dll
; Directory in which the loadable extensions (modules) reside.
; On windows:
extension_dir = "C:/PHP/ext"
[soap]
; Enables or disables WSDL caching feature.
; http://php.net/soap.wsdl-cache-enabled
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
; http://php.net/soap.wsdl-cache-dir
soap.wsdl_cache_dir="/tmp"
; (time to live) Sets the number of second while cached file will be used
; instead of original one.
; http://php.net/soap.wsdl-cache-ttl
soap.wsdl_cache_ttl=86400
; Sets the size of the cache limit. (Max. number of WSDL files to cache)
soap.wsdl_cache_limit = 5
在C:/PHP/ext
文件夾中,我有php_soap.dll
文件, C:\\PHP\\ext\\php_soap.dll
。
但是我的phpinfo();
僅返回有關 SOAP 的信息:
我沒有顯示這些設置:
我得到錯誤:
Fatal error: Class 'SoapClient' not found in C:\Apache24\htdocs\myApp\src\Em\Bundle\PlatformBundle\Services\MyAppService.php on line 46
我錯過了什么? 如何解決?
這很容易。
我認為您使用 Symfony2 並使用名稱空間。 此函數位於根命名空間中。
用:
\SoapClient()
否則你在命名空間中,他們找不到這個類。
例如,您對Exception
類有同樣的問題。
如果您使用的是 linux 並且您缺少 soap 擴展名,就像我一樣,並且您已經在 php.ini 中啟用了它,然后嘗試
apt-get install php-soap
service apache2 restart
我在自定義模塊 Drupal 8 中遇到了同樣的問題。
它使用 Symfony2,所以只需在控制器中添加:
use SoapClient;
在 PHP/7.4.11 服務器中
在 XAMPP 控制面板中
這個步驟解決了我的問題。
嘗試使用路徑配置擴展:
extension=ext/php_soap.dll
在phpinfo()
您可以看到以下重要行:
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File C:\Apache24\bin\php.ini
但是如果需要,您可以在 httpd.conf 中更改 ini 文件夾:
# configure the path to php.ini
#PHPIniDir "C:/php"
但是看看你使用的是什么擴展目錄:
extension_dir C:\php
在“核心”部分。 這也可以配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.