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.
[email protected]:/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 !
Install your mysql library for php, run:
sudo apt-get install php5-mysql
And restart apache:
sudo service apache2 restart
Retry WordPress installation!
First, make sure MySQL server is running. Type the following command at a shell prompt:
If MySQL is not running, enter:
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:
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.
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
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"