PHP Fatal error: Uncaught Error: Class 'SoapClient' not found
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
我已经尝试关注 this 和其他几个人,这是我注意到的:
在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 packages.then 找到您的 soap 包并安装它。
在我的例子中,包是 php7.2-soap
所以我将使用
安装它
sudo apt install php7.2-soap
好的,经过大量的试验和研究,我是这样解决的:
sudo a2dismod php7.0
sudo a2enmod php7.2
sudo systemctl restart apache2
基本上,问题是我的系统有两个有效版本的 PHP 并且它被配置为使用旧版本,通过这些命令您可以 dismod PHP7.0(禁用模块)和 enmod PHP7.2
我正在尝试在我的 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
我已经尝试关注 this 和其他几个人,这是我注意到的:
在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 packages.then 找到您的 soap 包并安装它。
在我的例子中,包是 php7.2-soap
所以我将使用
sudo apt install php7.2-soap
好的,经过大量的试验和研究,我是这样解决的:
sudo a2dismod php7.0
sudo a2enmod php7.2
sudo systemctl restart apache2
基本上,问题是我的系统有两个有效版本的 PHP 并且它被配置为使用旧版本,通过这些命令您可以 dismod PHP7.0(禁用模块)和 enmod PHP7.2