繁体   English   中英

Ubuntu 18.0.4 上出现错误“您的 php 安装似乎缺少 wordpress 所需的 mysql 扩展”。 和 PHP 7.2

[英]Error "Your php installation appears to be missing the mysql extension which is required by wordpress" on Ubuntu 18.0.4. and PHP 7.2

我最近将我的 Ubuntu 版本从 16.04 更新到 18.0.4,并将 PHP 版本升级到 7.2。 由于以下错误,我无法登录我的 Wordpress 网站:

您的 php 安装似乎缺少 Wordpress 所需的 mysql 扩展

我试过的:
- sudo apt-get update & sudo apt-get -y install php-mysql
- sudo update-alternatives --set php /usr/bin/php7.2
* 在检查最后一个是否与 wp --info 一起工作时,我还收到以下警告:

PHP 警告:PHP 启动:无法加载动态库“mysqli”(试过:/usr/lib/php/20170718/mysqli(/usr/lib/php/20170718/mysqli:无法打开共享 object 文件:没有这样的文件或目录), /usr/lib/php/20170718/mysqli.so (/usr/lib/php/20170718/mysqli.so: undefined symbol: mysqlnd_global_stats)) 在 Unknown on line 0

实际上,php.ini 中缺少这些。 我都加了

extension=/usr/lib/php/20170718/mysqli
and
extension=/usr/lib/php/20170718/mysqlnd.

PHP 警告消失了,但 MySQL 分机似乎仍然丢失。

php.ini 文件位于 /etc/php/7.2/cli/php.ini。 每次更改后,我都会重新启动 apache。

您还有其他可行的解决方案吗?

非常感谢。

1.首先使用以下命令检查您的电脑中安装的版本:

php  -v

2.例如,如果您像这样运行7.2 (基于 php 版本)

sudo apt-get install php7.2-common php7.2-mysql

3.安装MySql后重启apache服务器

sudo service apache2 restart

我在使用 cpanel 的共享服务器上使用以下代码解决了我的.htaccess中的此类错误

# END WordPress
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php71” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php71 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

我在这里添加我的答案 - 尽管情况略有不同。 我升级了我的 Debian 安装 - 在这个过程中 php 从 php 5 升级到 php 7.0

事实证明,apache2 仍在加载 php5 模块而不是 php7.0 模块。

我需要运行以下命令:

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

随后,我的网页加载了。

我终于设法找到了解决我的问题的方法。

这个特定的项目在 PHP 7.0 上运行,所以我需要切换到旧版本的 PHP 才能处理它。

谢谢大家的帮助,我真的很感谢你的意见:-)

上述解决方案的组合帮助了我。

更新后我无法再访问我的网站,所以我改变了这样的代码:

sudo a2dismod php*
sudo a2enmod php8.0
sudo systemctl restart apache2

对于 AWS EC2 ubuntu Nginx 服务器

1.首先使用以下命令检查您的电脑中安装的版本:

php -version or which php

2.例如,如果您像这样运行 7.4.33(基于 php 版本)

apt install php7.4-mysql

3.安装MySql后重启apache服务器

sudo systemctl restart apache2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM