Php - 您的PHP安装似乎缺少WordPress所需的MySQL扩展

问题描述 投票:30回答:21

如何修复下面的错误?

您的PHP安装似乎缺少WordPress所需的MySQL扩展。

我使用我的NAS与telnet连接。

我安装了FFP 0.7

我的php.ini在:ffp/etc/php.ini,我取消了我认为有用的一切。

下面是我的php.ini文件的一部分;

;If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
extension=msql.dll
;
; ... or under UNIX:
;
extension=msql.so
;
; ... or with a path:
;
extension=/ffp/lib/extensions/no-debug-non-zts-20100525/mysql.so
;


extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so
extension=pdo_mysql.so

突出的问题是,当我在phpinfo()中运行时,我看到MySQLi模块被激活但不是MySQL。

MySQL正如PHP和Lighttpd Web服务器一样正常工作。

我同样有phpmyadmin工作。

这是在Zyxel NSA310上。

此外,当启动mysqld时,它会创建一个从我的root到ffp/opt/mysql..的快捷方式,每次重新启动NAS时,快捷方式都会被删除。

有人可能知道这个伎俩吗?

php mysql wordpress nas
21个回答
27
投票

php mysql api已被弃用。它是kaput ---走开 - 不被使用,finito。

如果你有一个现代版本的PHP(> 5.6),那么Wordpress应该自动切换到使用mysqli。这应该是你的第一次尝试。

如果你不能更新你的PHP,而不是试图复活php不再支持的东西,只需修改你的wordpress:http://wordpress.org/plugins/mysqli/


3
投票

我正在使用Fedora 25

sudo dnf search php | grep mysql

php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php-pear-MDB2-Driver-mysqli.noarch : MySQL Improved MDB2 driver mysqli

sudo dnf install php-mysqlnd.x86_64

2
投票

在我的情况下,使用CPanel PHP选择器并选择mysqli和mysqlnd工作。 Ensure to save and recheck once


1
投票

我遇到了同样的问题“你的PHP安装似乎缺少了在resellerclub托管中WordPress所需的MySQL扩展”。

我经历了这个帖子,并且知道php版本应该大于> 5.6,以便wordpress会自动转换为mysqli

然后登录到我的cpanel搜索cpanel中的php来检查版本,幸运的是能够找到我的php版本是5.2并通过确保mysqli在选项窗口中标记为tick并保存它工作正常而改为5.6现在。


1
投票

这个问题是由于缺乏数据库。如果是全新安装,则需要手动创建一个并为用户分配权限。

请检查wp-config.php是否有任何错误配置,并确保数据库和表没有丢失或损坏。


1
投票

只需安装apt-get install php5-mysqlnd重启Apache服务apache2 restart


1
投票

确保勾选mysqli和mysqlnd,如截图enter image description here所示


1
投票

当我将我的网站PHP从5.6升级到7.2时,我遇到了这个问题“你的PHP安装似乎缺少WordPress所需的MySQL扩展”。事实证明,PHP版本7.2不再支持mysql扩展。它现在使用mysqli扩展。我正在使用仍然使用mysql扩展的旧版WordPress,这就是问题存在的原因。所以我所做的就是将WordPress升级为核心。这解决了这个问题。

这是我手动升级WordPress时所遵循的步骤。

  1. 首先,我创建了我的网站的完整备份。这在错误的情况下非常重要。
  2. 我从wordpress.org下载了最新的WordPress ZIP文件。
  3. 我将文件解压缩到我的计算机的本地目录中。
  4. 我去了我的网站根目录并删除了'wp-includes'和'wp-admin'目录。我使用Filezilla软件使用sFTP连接。
  5. 我从新版本的WordPress上传了新的wp-includes和wp-admin目录,并将其解压缩到我的网站根目录,并替换了我刚刚删除的目录。
  6. 我没有删除wp-content目录或该目录中的任何文件。我刚刚将新版WordPress中的wp-content目录中的文件复制到我现有的wp-content目录中。已覆盖所有具有相同名称的现有文件。
  7. 我将所有解压缩到我的网站根目录(或WordPress安装的根目录)的新版WordPress的根目录('/')复制了所有文件。现有文件已被覆盖,新文件已被复制。 wp-config.php文件没有受到影响,因为WordPress从未与wp-config.php文件一起分发。
  8. 我比较了与WordPress一起发布但没有发现任何改变的wp-config-sample.php,所以我只使用了旧的。
  9. 我清除了浏览器缓存以确保可以看到所有更改。
  10. 我检查了网站,现在没有错误。升级完成了。

0
投票

对于PHP 5.6 sudo apt-get install php5.6-mysqlnd-ms并重新启动您的Apache

/etc/init.d/apache2 restart

0
投票

在我的案例中,此消息的来源与解决方案无关。

我的服务器的IP地址发生了变化,我没有在apache服务器的httpd.conf中更改<VirtualHost>指令。

一旦我将其更改为正确的IP地址,消息就会消失,Wordpress再次正常工作。


0
投票

我已经解决了这个问题,只需在.htaccess文件中添加以下代码即可。我希望这对你们也有用。

第1步:从服务器更改PHP版本。

步骤2:根据您的PHP版本(从服务器中选择)在.htaccess文件中添加以下代码。

要切换到PHP 4.4:

AddHandler application/x-httpd-php4 .php

要切换到PHP 5.0:

AddHandler application/x-httpd-php5 .php

要切换到PHP 5.1:

AddHandler application/x-httpd-php51 .php

要切换到PHP 5.2:

AddHandler application/x-httpd-php52 .php

要切换到PHP 5.3:

AddHandler application/x-httpd-php53 .php

要切换到PHP 5.4:

AddHandler application/x-httpd-php54 .php

要切换到PHP 5.5:

AddHandler application/x-httpd-php55 .php

要切换到PHP 5.6:

AddHandler application/x-httpd-php56 .php

要切换到PHP 7:

AddHandler application/x-httpd-php7 .php

要切换到PHP 7.1:

AddHandler application/x-httpd-php71 .php 

37
投票

最后我找到了解决方案首先,确保MySQL服务器正在运行。在shell提示符下键入以下命令:#etc/init.d/mysql status

如果MySQL未运行,请输入:#/ etc / init.d / mysql start

如果未安装MySQL,请键入以下命令以安装MySQL服务器:#apt-get install mysql-server

确保安装了适用于php5的MySQL模块:#dpkg --list | grep php5-mysql

要安装php5-mysql模块,请输入:#apt-get install php5-mysql

接下来,重新启动Apache2 Web服务器:#/ etc / init.d / apache2 restart


0
投票

在运行PHP版本7.3.x的Oracle Linux 7.x上,您需要运行sudo yum install php-mysqlnd以便为PHP安装缺少的MySQL扩展。

请记住重新启动PHP和/或服务器以使更改生效。


0
投票

对我来说(ubuntu 16.04),获胜者是:

sudo apt install php7.0-mysql

9
投票

这个MySQL库对我有用:

sudo apt-get install php5-mysqlnd-ms

7
投票

检查

extension_dir =

如果它在那里删除它。应该解决问题。


4
投票

如果您安装了Wordfence插件,我发现注释了.htaccess文件中的suPHP_ConfigPath行,使网站恢复了生机:

# Wordfence WAF
#<IfModule mod_suphp.c>
#   suPHP_ConfigPath '/home/a1614947/public_html'
#</IfModule>

我也向Wordfence报告过这个问题。


4
投票

当你升级你的php版本时,请确保,apache2如下。你可以创建一个phpinfo()文件,它可以显示apache仍在使用旧的php版本。

在这种情况下,您应该使用a2dismod php-old-version和a2enmon php-mod-version命令

例如:

在ubuntu中,你从/ etc / apache2 / mods-enabled中获取旧版本,或从phpinfo文件显示的版本中获取旧版本,然后从/ etc / apache2 / mods-available中获取新版本

> sudo a2dismod php5.6
> sudo a2enmod php7.1
> sudo service apache2 restart

4
投票

此错误由WP核心文件/wp-includes/load.php创建,函数名称为wp_check_php_mysql_versions()

旧版本的WP不支持MySqli。但最新的WP版本支持MySql和MySqli扩展without bothering installed PHP versions

解决了我的问题100%

在我的情况下,我只是updated the Wordpress core files manually并解决了问题:)


4
投票

如果人们使用cPanel(Godaddy,经销商俱乐部,Hostgator或任何共享主机)共享Linux主机,请尝试以下操作:

在“软件和服务”选项卡下 - >选择PHP版本 - > PHP选择器|扩展

勾选所有与MySQL相关的扩展,保存并完成。请查看附件图片。


3
投票

这可能是php mysql api被弃用的原因。如果您在<PHP5.5以下使用,只需在您的服务器中更新到5.6及以上。

© www.soinside.com 2019 - 2024. All rights reserved.