Wordpress致命错误:未捕获错误:在/wp-includes/wp-db.php:1570中调用未定义函数mysql_connect()

Tho*_*mas 8 php mysql wordpress fatal-error

我遇到了大麻烦.我安装了基于运输插件的基于woocommerce购物车的零版本,我根据我的requiremnet发现它不相关,并从插件区域删除了该插件.删除该插件后,我的网站出现故障.它不断向我展示致命错误:

致命错误:未捕获错误:在/home/dev/public_html/new/wp-includes/wp-db.php:1570中调用未定义函数mysql_connect()堆栈跟踪:#0/home/dev/public_html/new/wp- includes/wp-db.php(658):wpdb-> db_connect()#1 /home/dev/public_html/new/wp-includes/load.php(404):wpdb - > __ construct('dev_test','3CrSPh8o766F ','dev_test_ne ...','localhost')#2 /home/dev/public_html/new/wp-settings.php(107):require_wp_db()#3/home/dev/public_html/new/wp-config .php(82):require_once('/ home/dev/p ...')#4 /home/dev/public_html/new/wp-load.php(37):require_once('/ home/dev/p. ..')#5 /home/dev/public_html/new/wp-blog-header.php(13):require_once('/ home/dev/p ...')#6/home/dev/public_html/new /index.php(17):在第1570行的/home/dev/public_html/new/wp-includes/wp-db.php中抛出的require('/ home/dev/p ...')#7 {main}

我尝试替换除wp-config.php和wp-content文件夹之外的所有核心文件.我仍然得到同样的错误.

此外,我尝试重命名插件文件夹,但错误是存在的.

你们能告诉我如何让我的网站恢复原状吗?

Rob*_*off 17

我遇到了从 PHP 5 升级到 PHP 7(在 Windows 上)的问题。问题是mysqli未启用 PHP 扩展。如果 mysqli 不可用,Wordpress 5+ 会检测到这一点,并将尝试使用不推荐使用的mysql_connect()调用连接到数据库。这会导致关于 mysql_connect() 函数不可用的非常具有误导性的错误消息(因为我们不想要这个函数)。

php.ini 中确保extension_dir已设置(使用完整目录名)并启用 mysqli 扩展

extension_dir = "C:\php-7.3.10\ext"
...
extension=mysqli
Run Code Online (Sandbox Code Playgroud)

要仔细检查哪些扩展程序处于活动状态,您可以运行以下代码

<pre>
<?php print_r(get_loaded_extensions()); ?>
</pre>
Run Code Online (Sandbox Code Playgroud)

  • 使用 IIS 时必须重新启动站点或应用程序池,否则设置将不会生效 (2认同)

小智 6

可能的错误来源:

你可以设置

define('WP_USE_EXT_MYSQL', true);
Run Code Online (Sandbox Code Playgroud)

在你的wp-config.php文件中使WordPress使用mysqli扩展.


小智 5

当我从 5.6 php 切换到 7.0 时,它发生在我身上。

如果您使用 cPanel,只需在您选择的 php 版本中启用“mysqli”。


小智 0

错误看起来很简单,mysql_*功能没有启用。检查phpinfo()这些功能是否真的被禁用,如果是,则启用它。如果不是,则您正在使用的代码存在一些问题,但如果您在编写时替换了所有文件,则很可能是第一个选项。