簡體   English   中英

PHP:致命錯誤:找不到“SoapClient”類

[英]PHP: Fatal error: Class 'SoapClient' not found

首先,我已經閱讀了這個問題( 致命錯誤:未找到類“SoapClient” )並且已經完成了答案所說的一切。 但仍然遇到問題。

我在這里也發現了類似的問題( https://bugs.php.net/bug.php?id=64445 ),但它也沒有在那里解決。

我正在嘗試在 Win 7 64 上設置 PHP + Apache 環境。

  1. PHP :php-5.5.17-Win32-VC11-x86。 線程安全。

  2. 阿帕奇: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 控制面板中

  1. 停止 Apache 服務器
  2. 單擊Apache旁邊的配置
  3. 從下拉列表中選擇 PHP (php.ini)
  4. Ctrl+F 查找;extension=soap並刪除 ; 從線。
  5. Ctrl+S 保存文件。
  6. 再次啟動Apache。

這個步驟解決了我的問題。

嘗試使用路徑配置擴展:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM