Wordpress localhost installation error - Your PHP installation appears to be missing the MySQL extension which is required by WordPress

12,341

Solution 1

Install your mysql library for php, run:

 sudo apt-get install php5-mysql

And restart apache:

 sudo service apache2 restart

Retry Wordpress installation!

Solution 2

This is because your apache did not load with mysql module. This will resolve the issue :

yum install php-mysql -y 

once the installation is complete. Do a service restart

service httpd restart

Solution 3

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

Now PHP support for MySQL should work without a problem. Also make sure you set localhost or 127.0.0.1 (recommended) as MySQL hostname while performing wordpress installation.

Solution 4

What helped me is running:

$ php -v

Which showed feedback like:

PHP Warning:  PHP Startup: Unable to load dynamic library './msql.so' - ./msql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Indicating that the .so files either don't exist or the specified containing directory is wrong (ie not './'). After running:

$ find /usr/lib -name "*.so" | grep mysql

I was able to find the .so files in a php directory, /usr/lib/php5/20131226/ :

$ ls
gd.so  json.so  mysqli.so  mysql.so  opcache.so  pdo_mysql.so  pdo.so  readline.so  ssh2.so

My fix was to change my php.ini file (/etc/php5/apache2/php.ini) to:

extension=mysql.so
...
extension_dir = "/usr/lib/php5/20131226"
Share:
12,341
Vishal
Author by

Vishal

Updated on June 21, 2022

Comments

  • Vishal
    Vishal almost 2 years

    I know this question has been asked N number of times but I can't seem to get it worked. I am trying to install wordpress on my local VM machine. I have mysql running fine as shown below.

        vishal@ubuntu:/etc/apache2$ mysql -u root -p
        Enter password: 
        Welcome to the MySQL monitor.  Commands end with ; or \g.
        Your MySQL connection id is 39
        Server version: 5.1.41-3ubuntu12.10 (Ubuntu)
    
        Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
         mysql>
    

    Despite multiple attempts I am getting below error : "Your PHP installation appears to be missing the MySQL extension which is required by WordPress"

    I have tried to uncomment extension_dir with exact path of myql.so and put extension as mysql.so.

    I have two php.ini files which I am not sure correct or not. One is present in /etc/apache2 /phi.ini and second is present in /etc/php5/cli/php.ini.

    There is no php.ini file in /etc/php5. I tried installing many times but it does not appear there.

    Both are referring to actual mysql.so library path and mention extension as mysql.so

    Could anyone please suggest what could possibly going wrong ? Thank you !