首页 > 解决方案 > PHP 致命错误:未捕获的错误:找不到类“SoapClient”

问题描述

我正在尝试在我的 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。
我究竟做错了什么?请帮忙!

标签: phpsoapsoap-clientfatal-errorubuntu-18.04

解决方案


好的,经过大量试验和研究,这是我解决它的方法:

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

基本上,问题是我的系统有两个有效版本的 PHP,它被配置为使用旧版本,通过这些命令你 dismod PHP7.0(禁用模块)和 enmod PHP7.2


推荐阅读