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

Wordpress致命错误:未捕获错误:调用/wp includes/wp db.php:1570中未定义的函数mysql_connect(),php,mysql,wordpress,fatal-error,Php,Mysql,Wordpress,Fatal Error,我有大麻烦了。我安装了一个基于woocommerce购物车的发货插件的空版本,根据我的requiremnet,我发现它不相关,并从插件区域删除了该插件。删除那个插件后,我的网站崩溃了。它不断向我显示致命错误: Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/dev/public_html/new/wp-includes/wp-db.php:1570 Stack trace: #0 /

我有大麻烦了。我安装了一个基于woocommerce购物车的发货插件的空版本,根据我的requiremnet,我发现它不相关,并从插件区域删除了该插件。删除那个插件后,我的网站崩溃了。它不断向我显示致命错误:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/dev/public_html/new/wp-includes/wp-db.php:1570
Stack trace:
#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', 'password', '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): require('/home/dev/p...')
#7 {main} thrown in /home/dev/public_html/new/wp-includes/wp-db.php on line 1570
<pre>
<?php print_r(get_loaded_extensions()); ?>
</pre>
我尝试替换除wp-config.php和wp-content文件夹之外的所有核心文件。但我还是犯了同样的错误

此外,我尝试重命名插件文件夹,但错误仍然存在


你们能建议我如何找回我的网站吗。

错误似乎很简单,
mysql.*
函数没有启用。 使用
phpinfo()
检查这些功能是否确实被禁用,如果是,则启用它。
如果没有,则说明您正在使用的代码中存在一些问题,但如果您在编写时替换了所有文件,则最有可能是第一个选项。

可能的错误源:

  • 自PHP7以来,
    mysql.*
    函数已被删除,请参阅
  • 您使用的是PHP5.x,没有启用
    mysql
    扩展,而是
    mysqli
    和/或
    pdo_mysql
你可以设置

define('WP_USE_EXT_MYSQL', true);

在您的
wp config.php
文件中,让WordPress使用mysqli扩展名。

当我从5.6PHP切换到7.0时,这种情况就会发生


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

请检查wp-config.php文件中的以下行:

define('WP_USE_EXT_MYSQL', true);
如果找到,请删除该行。你的问题应该得到解决

如果没有,您可以在PHP7配置中勾选
nd_mysqli
扩展,并禁用Cpanel上的
mysqli
扩展->选择PHP版本

资料来源:


希望这有帮助。:)

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

php.ini中,确保设置了
extension\u dir
(使用完整目录名)并且启用了mysqli扩展

extension_dir = "C:\php-7.3.10\ext"
...
extension=mysqli
要再次检查哪些扩展处于活动状态,可以运行以下代码


只是cpanel多HP实例有类似的问题。几乎什么都试过了,但是当cpanel/whm说一切都好的时候,当7.x被激活时,这个网站就会崩溃

最后是.htaccess文件。我们重新命名,让Cpanel再生,一切都很好


希望这对其他人有所帮助,因为这需要一些时间来解决

刚刚注册,非常感谢您提供了启用mysqli的解决方案。在过去的3.5个小时里,我一直在努力让WordPress运行在一个概要上,这最终解决了我担心的“网站正在经历技术难题”

对于任何其他尝试找到解决方案后进入本主题的Synology用户,要解决Synology上的问题,您需要

  • 转到网站
  • 选择PHP设置
  • 双击您正在使用的PHP配置文件(或单击一次并选择[编辑])
  • 选择常规设置并滚动至扩展列表
  • 查找mysqli并通过打勾启用
  • 按下[确定]按钮(无需重新启动)

我在magicworkshost的web托管客户端遇到了类似的问题,我已将php版本从5.6更新到7.3,并成功解决了问题


谢谢

网站在哪里?如果您使用的是web托管服务,您可以恢复备份并从中删除。您是否在停用插件之前删除了该插件?管理面板插件区域中@user2584538 i deactivated plugin的可能重复项并将其删除。就这样。你能重新安装插件,看看它是否恢复了功能吗?我检查了phpinfo(),没有问题。。在同一台服务器上托管了更多的网站。。他们工作得很好。你有没有试着做一个干净的安装,然后更换所有的文件?你的意思是安装新的wp并上传我的主题和插件文件?是的,举个例子。想法是做一个完整备份(文件+db),然后重新安装,最后替换所有文件。当您发现问题时,您可以在旧系统上隔离它,并在不丢失任何东西的情况下修复它。或者你可以完全重新配置它,这取决于你的喜好。是的,我试过这个。。另外,我试着在其他服务器上安装同一个站点,它在那里工作得很好..似乎不适用于所有插件。在我用PHP7.3将WP博客迁移到服务器后,我遇到了一个问题。我隔离了这个问题,因为有一个名为“cystats”的插件文件夹。然而,这个定义并不能使它起作用。最后我不得不删除插件。这并不是这个页面上问题的答案。也许你应该对建议启用mysqli的答案发表评论,并对他们的答案进行投票。这就是我解决问题的原因。非常简单明了的建议。默认情况下,它在direct admin php selector中启用,但由于某些原因,此1站点没有启用。启用它解决了这个问题。
sudo apt-get install php7.4-mysql
sudo service apache2 restart