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

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”

Read More

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 !

Related posts

Leave a Reply

4 comments

  1. Install your mysql library for php, run:

     sudo apt-get install php5-mysql
    

    And restart apache:

     sudo service apache2 restart
    

    Retry WordPress installation!

  2. 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.

  3. 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
    
  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"