如何解决以下错误?
您的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
启动时,它会从我的根目录创建一个快捷方式:ffp/opt/mysql..
,每次重新启动NAS时,快捷方式都会被删除。
有人可能知道这个伎俩吗?
答案 0 :(得分: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
答案 1 :(得分:25)
不推荐使用php mysql api。它是kaput ---走开 - 不被使用,finito。
如果你有一个现代版本的PHP(> 5.6),那么Wordpress应该自动切换到使用mysqli。这应该是你的第一次尝试。
如果你无法更新你的php,而不是试图恢复php不再支持的东西,只需修改你的wordpress:http://wordpress.org/plugins/mysqli/
答案 2 :(得分:9)
这个MySQL库对我有用:
sudo apt-get install php5-mysqlnd-ms
答案 3 :(得分:7)
检查
extension_dir =
如果它在那里删除它。应该解决问题。
答案 4 :(得分:4)
如果您安装了Wordfence插件,我发现在.htaccess文件中注释了suPHP_ConfigPath行,使网站恢复了生机:
# Wordfence WAF
#<IfModule mod_suphp.c>
# suPHP_ConfigPath '/home/a1614947/public_html'
#</IfModule>
我也向Wordfence报告了此事。
答案 5 :(得分:4)
如果人们使用cPanel(Godaddy,经销商俱乐部,Hostgator或任何共享主机)共享Linux主机,请尝试以下操作:
在“软件和服务”标签下 - &gt;选择PHP版本 - &gt; PHP选择器|扩展
勾选所有与MySQL相关的扩展程序,保存并完成。请查看附图。
答案 6 :(得分: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
答案 7 :(得分:4)
此错误由WP核心文件/wp-includes/load.php创建,函数名称为wp_check_php_mysql_versions()
。
旧版本的WP不支持MySqli。但最新的WP版本同时支持MySql和MySqli扩展without bothering installed PHP versions。
在我的情况下,我只是updated the Wordpress core files manually并解决了问题:)
答案 8 :(得分:4)
在将近七年后,这一直得到不同的答案。†许多与对我有用的相似但不完全相同。 这是对我有用的(Ubuntu服务器)。
将站点移至新服务器,忘记安装PHP MySQL模块/扩展。我跑了
apt-get install php-mysql
然后
apachectl restart
八大兵。没有php5,php7;简直php-mysql
。
答案 9 :(得分: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
答案 10 :(得分:3)
这可能是php mysql api被弃用的原因。 如果您使用以下&lt; PHP5.5只需在您的服务器中更新到5.6及更高版本。
答案 11 :(得分:2)
确保在您的php选择器中检查了msqli和mysqlnd。 然后将.htaccess文件的名称更改为.htaccess_old。 查看您的网站现在是否可以加载。
如果可以,请转到仪表板并保存永久链接,它将创建一个新的.htaccess文件。
这对我有用。
答案 12 :(得分:2)
就我而言,使用CPanel PHP选择器并选择mysqli和mysqlnd起作用。 Ensure to save and recheck once
答案 13 :(得分:1)
答案 14 :(得分:1)
当我将网站PHP从5.6版本升级到7.2时,我遇到了此问题“您的PHP安装似乎缺少WordPress所需的MySQL扩展”。事实证明,PHP 7.2版不再支持mysql扩展。现在它正在使用mysqli扩展。我正在使用旧版本的WordPress,但仍使用mysql扩展名,这就是存在该问题的原因。因此,我所做的就是将WordPress升级为核心。这样可以解决问题。
这是我手动升级WordPress时遵循的步骤。
答案 15 :(得分:1)
只需安装 apt-get install php5-mysqlnd 重启Apache service apache2 restart
答案 16 :(得分:1)
此问题是由于缺少数据库。如果是全新安装,则需要手动创建一个并为用户分配权限。
请检查wp-config.php是否有任何错误配置,并确保数据库和表格没有丢失或损坏。
答案 17 :(得分:1)
我遇到了同样的问题&#34;您的PHP安装似乎缺少WordPress&#34;所需的MySQL扩展。在resellerclub托管。
我经历了这个帖子并且知道php版本应该大于&gt; 5.6这样wordpress会自动转换为mysqli
然后登录到我的cpanel搜索cpanel中的php以检查版本,幸运的是能够找到我的php版本是5.2并通过确保mysqli在选项窗口中标记并保存它来将其更改为5.6现在工作正常。
答案 18 :(得分:0)
对于php 5.6
sudo apt-get install php5.6-mysqlnd-ms
并重新启动Apache
/etc/init.d/apache2 restart
答案 19 :(得分:0)
此消息的来源与我的情况无关。
我的服务器IP地址已更改,而我未更改apache服务器的httpd.conf中的<VirtualHost>
指令。
一旦我将其更改为正确的IP地址,该消息就会消失,并且Wordpress可以再次工作。
答案 20 :(得分: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
答案 21 :(得分:0)
在运行PHP版本7.3.x的Oracle Linux 7.x上,您需要运行sudo yum install php-mysqlnd
才能为PHP安装缺少的MySQL扩展。
请记住重新启动PHP和/或服务器,以使更改生效。
答案 22 :(得分:0)
对我来说(ubuntu 16.04)获胜者是:
sudo apt install php7.0-mysql
答案 23 :(得分:0)
我刚刚删除了自定义php ini,我根本不使用它。问题消失了,站点工作正常。
答案 24 :(得分:0)
很少有人共享以选中 mysqli 和 mysqlind
的复选框但是 Hostgator (网站托管网站)现在不提供通过cpanel选择扩展名的选项,因为该选项已被删除选择PHP ,现在它提供了< strong> php管理器
您可以选择所需的Php版本,而不能选择扩展名。
解决方案:-称为 hostgator ,他们第一次说与您的开发人员联系时,(我问我的兄弟,他在本地下载了文件并确认它是在本地系统上工作正常)<-但这不是必需的
再次致电 hostgator ,他们的后端团队安装了缺少的扩展程序,此问题已解决。
下面是代码,当找不到扩展名时会出现此错误,您可以通过ftp在 load.php 中找到此行。
if ( ! extension_loaded( 'mysql' ) && ! extension_loaded( 'mysqli' ) && ! extension_loaded( 'mysqlnd' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
require_once ABSPATH . WPINC . '/functions.php';
wp_load_translations_early();
$args = array(
'exit' => false,
'code' => 'mysql_not_found',
);
wp_die(
__( 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.' ),
__( 'Requirements Not Met' ),
$args
);
exit( 1 );
}
}
答案 25 :(得分:0)
我遇到了同样的问题。
我检查了我网站的 php 版本,它已经很旧了。我已更正并将其重置为最新版本。
问题已通过重置php版本解决。