簡體   English   中英

PHP致命錯誤:未捕獲的錯誤:找不到類'SoapClient'

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

我試圖在我的Ubuntu 18.04.1 LTS VirtualBox服務器上啟用SoapClient。
看到我的Soap應用程序因500 HTTP錯誤而失敗后,我參考了php錯誤日志並發現了以下幾行:

>PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_soap.dll' - /usr/lib/php/20151012/php_soap.dll: cannot open shared object file: No such file or directory in Unknown on line 0 

>[Sat Jan 19 10:00:46.349246 2019] [:error] [pid 4211] [client 192.168.2.52:55730] PHP Fatal error:  Uncaught Error: Class 'SoapClient' not found in /var/www/html/sample.php:36\nStack trace:\n#0 {main}\n  thrown in /var/www/html/sample.php on line 36

我已經嘗試遵循此方法,並且已經嘗試了其他幾個方法,這是我注意到的:

phpinfo();中 我的系統使用php7.0,但是沒有php7.0-soap包

 $ sudo apt-get install php7.0-soap  
Reading package lists... Done  
Building dependency tree  
Reading state information... Done  
E: Unable to locate package php7.0-soap  
E: Couldn't find any package by glob 'php7.0-soap'  
E: Couldn't find any package by regex 'php7.0-soap'  

因此,相反,我已經安裝了php7.2-soap。
我究竟做錯了什么? 請幫忙!

首先確保您已安裝php 7並鍵入並運行sudo apt list php7*否則您可以運行sudo apt list php*

您的結果應該是這樣的:

php7.1-mapi/bionic,bionic 8.5.5-0ubuntu1 all
php7.2/bionic-updates,bionic-updates,bionic-security,bionic-security,now 7.2.10-0ubuntu0.18.04.1 all [installed,automatic]
php7.2-bcmath/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-bz2/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-cgi/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-cli/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-common/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed]
php7.2-curl/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-dba/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-dev/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-enchant/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-fpm/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-gd/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-gmp/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-imap/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-interbase/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-intl/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-json/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-ldap/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-mbstring/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-mysql/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-odbc/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-opcache/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-pgsql/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-phpdbg/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-pspell/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-readline/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-recode/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-snmp/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-soap/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-sqlite3/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-sybase/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-tidy/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-xml/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]
php7.2-xmlrpc/bionic-updates,bionic-security 7.2.10-0ubuntu0.18.04.1 amd64
php7.2-xsl/bionic-updates,bionic-updates,bionic-security,bionic-security 7.2.10-0ubuntu0.18.04.1 all
php7.2-zip/bionic-updates,bionic-security,now 7.2.10-0ubuntu0.18.04.1 amd64 [installed,automatic]

這將向您顯示所有php7軟件包。然后找到您的soap軟件包並安裝它。 在我的情況下,該軟件包是php7.2-soap因此我將使用

sudo apt install php7.2-soap

好的,經過大量的試驗和研究,這是我解決的方法:

sudo a2dismod php7.0
sudo a2enmod php7.2
sudo systemctl restart apache2

基本上,問題是我的系統具有兩個有效的PHP版本,並且已配置為使用舊版本,通過這些命令,您可以將PHP7.0(禁用模塊)和PHP7.2進行修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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