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

r6vfmomb  于 2021-06-18  发布在  Mysql
关注(0)|答案(25)|浏览(823)

如何修复下面的错误?
您的php安装似乎缺少wordpress所需的mysql扩展。
我使用带有telnet连接的nas。
我安装了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时,快捷方式都会被删除。
有人知道这个的诀窍吗?

8yoxcaq7

8yoxcaq71#

检查

extension_dir =

如果有,就把它取下来。那应该能解决问题。

omvjsjqw

omvjsjqw2#

因为很少有人共享mysqli和mysqlind的复选框
但是hostgator(webhosting站点)现在没有提供通过cpanel选择扩展的选项,因为这个选项被删除了selectphp,现在它提供了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 );
}

}

dw1jzc5e

dw1jzc5e3#

mysql库为我工作:

sudo apt-get install php5-mysqlnd-ms
xmakbtuz

xmakbtuz4#

我已经解决了这个问题,只是在.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
goucqfw6

goucqfw65#

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

sudo apt install php7.0-mysql
kcwpcxri

kcwpcxri6#

对于php 5.6 sudo apt-get install php5.6-mysqlnd-ms 重新启动apache

/etc/init.d/apache2 restart
hfsqlsce

hfsqlsce7#

此消息的来源与我的案例中的解决方案无关。
我的服务器的ip地址更改了,我没有更改 <VirtualHost> apache服务器的httpd.conf中的指令。
一旦我把它改成正确的ip地址,消息就消失了,wordpress又开始工作了。

hgncfbus

hgncfbus8#

我刚刚删除了定制的php ini,我根本不用它。问题解决了,网站运行良好。

of1yzvn4

of1yzvn49#

升级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
gstyhher

gstyhher10#

在我的例子中,使用cpanel php选择器并选择mysqli和mysqlnd是有效的。确保保存并重新检查一次

wlp8pajw

wlp8pajw11#

当我将我的网站php从5.6版升级到7.2版时,我遇到了这个问题“你的php安装似乎缺少wordpress所需的mysql扩展”。事实证明,php版本7.2不再支持mysql扩展。它现在正在使用mysqli扩展。我使用的是旧版本的wordpress,它仍然使用mysql扩展,这就是问题存在的原因。所以我把wordpress升级到了核心。这就解决了问题。
以下是我手动升级wordpress时遵循的步骤。
首先,我创建了一个完整的备份我的网站。这是非常重要的,以防出错。
我从wordpress.org下载了最新的wordpress zip文件。
我把文件解压缩到我电脑的本地目录。
我去了我的网站根目录,删除了你的'wp includes'和'wp admin'目录。我使用sftp连接使用filezilla软件。
我上传了新的wp includes和wp admin目录,从新版wordpress解压到我的网站根目录,并替换了我刚刚删除的目录。
我没有删除wp内容目录或该目录中的任何文件。我刚刚把新版本wordpress中wp content目录中的文件复制到我现有的wp content目录中。同名的所有现有文件都已被覆盖。
我从新版本wordpress的根目录(“/”)复制了所有文件,并将其解压缩到我的网站根目录(或wordpress安装的根目录)中。现有文件已被覆盖,新文件已被复制。wp-config.php文件不受影响,因为wordpress从未随wp-config.php文件一起分发过。
我比较了wp-config-sample.php,它是用wordpress发布的,但是没有发现任何变化,所以我只使用了旧的。
我清除了浏览器缓存以确保可以看到所有更改。
我检查了网站,现在没有错误。升级已完成。

6ljaweal

6ljaweal12#

只需安装apt get install php5 mysqlnd restart apache服务apache2 restart

5gfr0r5j

5gfr0r5j13#

不推荐使用php-mysql api。它是卡普特——走开——不被使用,菲尼托。
如果您有一个php的现代版本(>5.6),那么wordpress应该自动切换到使用mysqli。那应该是你的第一次尝试。
如果您不能更新您的php,而不是试图恢复php不再支持的东西,只需修补您的wordpress:http://wordpress.org/plugins/mysqli/

c86crjj0

c86crjj014#

如果您安装了wordfence插件,我发现在.htaccess文件中注解掉suphp\u configpath行会使网站恢复活力:


# Wordfence WAF

# <IfModule mod_suphp.c>

# suPHP_ConfigPath '/home/a1614947/public_html'

# </IfModule>

我也向wordfence报告过了。

daolsyd0

daolsyd015#

最后我首先找到了一个解决方案,确保mysql服务器正在运行。在shell提示符下键入以下命令: /etc/init.d/mysql status 如果mysql没有运行,请输入: /etc/init.d/mysql start 如果未安装mysql,请键入以下命令安装mysql server: 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

相关问题