How do I fix the error below?
Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
I use my NAS with a telnet connection.
I installed FFP 0.7
My php.ini
is in: ffp/etc/php.ini
and I uncommented everything I thought to be of use.
Below is a portion of my php.ini
file;
;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
The outstanding issue is that when I run in phpinfo()
, I see the module MySQLi activated but not MySQL.
MySQL is working as expected just as PHP and Lighttpd web server.
I equally have phpmyadmin working.
It's on a Zyxel NSA310.
Also, when mysqld
is started, it creates a shortcut from my root to: ffp/opt/mysql..
and every time I restart my NAS the shortcut is deleted.
Does anyone might know a trick for this?
in the end i found a solution First, make sure MySQL server is running. Type the following command at a shell prompt:
/etc/init.d/mysql status
If MySQL is not running, enter:
/etc/init.d/mysql start
If MySQL is not installed, type the following command to install MySQL server:
apt-get install mysql-server
Make sure MySQL module for php5 is installed:
dpkg --list | grep php5-mysql
To install php5-mysql module enter:
apt-get install php5-mysql
Next, restart the Apache2 web server:
/etc/init.d/apache2 restart
This MySQL library worked for me:
sudo apt-get install php5-mysqlnd-ms
It maybe the reason The php mysql api is deprecated. if your using below < PHP5.5 just update in your server to 5.6 and above.
When you upgarde your php version, make sure, apache2 follows. You can create a phpinfo() file which could show that apache is still using the old php version.
In this case you should use the a2dismod php-old-version and a2enmon php-mod-version commands
Exemple :
in ubuntu, your grab the old version from /etc/apache2/mods-enabled, or from the version shown by the phpinfo file, and you grab the new one from /etc/apache2/mods-available
> sudo a2dismod php5.6
> sudo a2enmod php7.1
> sudo service apache2 restart
The source of this message was unrelated to the solution in my case.
My ip address of my server changed and i didn't change the <VirtualHost>
directive in my httpd.conf of the apache server.
Once i changed it to the correct ip address the message disappeared and Wordpress is working again.
I just removed custom php ini, which I don't use at all. The problem gone, site is working fine.
Just install apt-get install php5-mysqlnd Restart Apache service apache2 restart
For me (ubuntu 16.04) the winner was:
sudo apt install php7.0-mysql
In my case, using CPanel PHP selector and selecting the mysqli and mysqlnd worked. Ensure to save and recheck once
If people are using shared Linux hosting with cPanel (Godaddy, Reseller club, Hostgator or any Shared Hosting), try the following:
Under Software and Services tab -> Select PHP Version -> PHP Selectors | Extentions
Tick all MySQL related extensions, save it and you are done. Please check the attached image.
On Oracle Linux 7.x running PHP version 7.3.x you need to run sudo yum install php-mysqlnd
in order to install the missing MySQL extension for PHP.
Remember to restart PHP and or your server for the changes to take effect.
For php 5.6
sudo apt-get install php5.6-mysqlnd-ms
and restart your apache
/etc/init.d/apache2 restart
This Error is created by the WP core file /wp-includes/load.php and the function name is wp_check_php_mysql_versions()
.
The older versions of the WP does not support MySqli. But the latest WP versions support both MySql and MySqli extensions without bothering installed PHP versions.
In my case, I just updated the Wordpress core files manually and solved the issue :)
After nearly seven years this keeps getting different answers.† Many are similar--but none identical--to what worked for me. Here's what worked for me (Ubuntu server).
Moving a site to a new server, forgot to install the PHP MySQL module/extension. I ran a quick
apt-get install php-mysql
and then
apachectl restart
Bada bing. No php5, php7; just plain php-mysql
.
As few people shared to tick mark the checkbox for mysqli and mysqlind
but Hostgator (webhosting site) now does not give that option to select extension via the cpanel as that option is removed select PHP and now it gives the option for php manager
You can just select the Php version you want and not the extension.
Solution :- Called the hostgator , first time they said get in touch with your developer, ( i asked my brother and he downloaded the files locally and verified it was working fine on local system) <-- this was not needed though
Again called the hostgator and their backend team installed the missing extension and it was solved.
Below is the code which gives this error when it does not find the extension and you can find this line in load.php via ftp.
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 );
}
}
I had same issue as mentioned " Your PHP installation appears to be missing the MySQL extension which is required by WordPress" in resellerclub hosting.
I went through this thread and came to know that php version should be greater than > 5.6 so that wordpress will automatically gets converted to mysqli
Then logged into my cpanel searched for php in cpanel to check for the version, luckly was able to find that my version of php was 5.2 and changed that to 5.6 by making sure mysqli is tick marked in the option window and saved it is working fine now.
Check the
extension_dir =
remove it if it is there. that should fix the problem.
When I upgraded my website PHP from version 5.6 to 7.2, I encountered this problem “Your PHP installation appears to be missing the MySQL extension which is required by WordPress”. It turns out that mysql extension is no longer supported in PHP version 7.2. It is now using mysqli extention. I am using old version of WordPress which still using mysql extension that is why the problem existed. So what I did is upgraded the WordPress to the core. This solve the problem.
Here's the steps I followed when upgrading WordPress manually.
I have resolved the issue just adding following code in .htaccess file. I hope this will work for you guys also.
Step 1: Change the PHP version form the server.
Step 2: Add the following code in your .htaccess file according to your PHP version (Selected from the server).
To switch to PHP 4.4:
AddHandler application/x-httpd-php4 .php
To switch to PHP 5.0:
AddHandler application/x-httpd-php5 .php
To switch to PHP 5.1:
AddHandler application/x-httpd-php51 .php
To switch to PHP 5.2:
AddHandler application/x-httpd-php52 .php
To switch to PHP 5.3:
AddHandler application/x-httpd-php53 .php
To switch to PHP 5.4:
AddHandler application/x-httpd-php54 .php
To switch to PHP 5.5:
AddHandler application/x-httpd-php55 .php
To switch to PHP 5.6:
AddHandler application/x-httpd-php56 .php
To switch to PHP 7:
AddHandler application/x-httpd-php7 .php
To switch to PHP 7.1:
AddHandler application/x-httpd-php71 .php
I'm using 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
This issue was due to lack of database. If it is a fresh installation, you need to manually create one and assign user with privileges.
Please check in wp-config.php for any bad configurations and make sure that database and tables are not missing or corrupted.
If you have Wordfence plugin installed I found commenting out the suPHP_ConfigPath lines in the .htaccess file brought the website back to life:
# Wordfence WAF
#<IfModule mod_suphp.c>
# suPHP_ConfigPath '/home/a1614947/public_html'
#</IfModule>
I've reported this to Wordfence too.
Source: Stackoverflow.com