Wordpress Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /wp-includes/wp-db.php:1570

时光怂恿深爱的人放手 提交于 2019-11-27 22:21:12

问题


I am in big trouble. I installed a nulled version of woocommerce cart based shipping plugin and i found it not relevant according to my requiremnet and deleted that plugin from plugins area. After deleting that plugin my site went down. Its continuously showing me Fatal error:

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

I tried replacing all core files excluding wp-config.php and wp-content folder. Still I am getting the same error.

Also, i tried renameing plugins folder but the error is there.

Can you guys suggest me how i can get my site back.


回答1:


Possible error sources:

  • Since PHP 7, mysql_* functions have been removed, see PHP's official overview of the MySQL drivers.
  • You use PHP 5.x and have not enabled the mysql extension, but mysqli and/or pdo_mysql instead.

You can set

define('WP_USE_EXT_MYSQL', true);

in your wp-config.php file to make WordPress use the mysqli extension.




回答2:


It happens for me when I switch from 5.6 php to 7.0.

Just enable "mysqli" in your select php version if you use cPanel.




回答3:


I encountered this problem upgrading from PHP 5 to PHP 7 (on Windows). The problem was mysqli PHP extension was not enabled. If mysqli is not available Wordpress 5+ detects this and will instead attempt to connect to the database with deprecated mysql_connect() calls. This leads to a very misleading error message about mysql_connect() function not being available (since we don't want this function).

In php.ini make sure extension_dir is set (use full directory name) and mysqli extension is enabled

extension_dir = "C:\php-7.3.10\ext"
...
extension=mysqli

To double check what extensions are active you can run the following code

<pre>
<?php print_r(get_loaded_extensions()); ?>
</pre>



回答4:


The error seems be simple, mysql_* functions are not enabled. Check with phpinfo() if these functions are truly disabled, and if yes, enable it. If no, there are some problems in the code that you are using, but if you have replaced all files as you write, is most probably the first option.




回答5:


Please check your wp-config.php file for the following line:

define('WP_USE_EXT_MYSQL', true);

If you find it, delete the line. Your problem should be fixed.

If not, you can tick nd_mysqli extension in the PHP 7 configuration, and disable the mysqli extension on Cpanel -> Select PHP version.

Source:

https://wordpress.org/support/topic/database-cache-causing-503-errors-when-upgrading-to-php-7/

Hope this helps. :)




回答6:


Just had a similar problem with a cpanel multiphp instance. Tried just about everything but while cpanel/whm was saying all was fine, the site would crash when 7.x was activated.

In the end, it was the .htaccess file. We renamed and let Cpanel regenerate and all is good.

Hope this helps someone out there as it took some time to resolve here.



来源:https://stackoverflow.com/questions/44841823/wordpress-fatal-error-uncaught-error-call-to-undefined-function-mysql-connect

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!