I’m trying to get a wordpress local install working on my Mac.
I’ve recently set up a database, username and password using the MySQL client as per the instructions in the wordpress codex. That part is ok.
When I go to the local site on my computer I’m prompted by wordpress to set up the wp-config.php file. Putting in the same details that definitely work with the MySQL client returns an error.
Manually updating these details in the ‘wp-config-sample.php’ file and renaming it as ‘wp-config.php’ also doesn’t work – I’m now greeted with a big bold message: “Error establishing a database connection”.
From what I can gather, php and mysql are not communicating with each other properly.
I’ve changed the apache 2 configuration file found in ‘etc/apache2/httpd.conf’ and uncommented the line which loads the php5 module: LoadModule php5_module libexec/apache2/libphp5.so
and restarted the apache server. This has still not fixed my problem. I’m stuck on what to do next… help appreciated please!
It’s been fixed now.
php was looking in the wrong place for the mysql.sock file, and couldn’t communicate with the mysql database, meaning wordpress couldn’t be set up.
On the command line I typed
to bring up as much info about mysql that I could. From this I saw that the mysql socket on my computer is being used at /tmp/mysql.sock
Meanwhile, in the “wp-config.php” file, I changed the line
define('WP_DEBUG', false);
todefine('WP_DEBUG', true);
and refreshed my web browser that was showing my localhost setup. This now said a lot more info than “Error establishing a database connection” – infact I could see that the mysql.sock was not configured correctly at all.Creating a ‘phpinfo.php’ file with just the single line of code
<?php phpinfo(); ?>
was the pivotal turning point for me.Putting that ‘phpinfo.php’ file in my localhost directory and then viewing it from my web browser not only definitely confirmed that the mysql.sock file was not configured properly, but it also showed where the configurations were being loaded from on my machine: ‘/private/etc/php.ini’
The next thing I did was open up the ‘php.ini’ file in a text editor and doing a quick find and replace to update the correct location of mysql.sock.
Finally, a restart of the local apache server needed to be done to fully update all the new settings that I’d been fiddling about with.
Now everything works fine!
The Error-Message “Error establishing a database connection” indicates clearly, that the php-script can not establish the connection. This can have one of the following reasons:
Try to connect the database with the same settings of your wordpress using Sequel Pro (or any other GUI to connect a mysql database). If the connection works, the problem 2. and 3. isn’t your problem.
Look in your firewall-log to make sure 4. is also not your problem.
If all problems are excluded (even 1. after a final check), try to run something like phpMyAdmin to connect your database, to make sure your php-installation has the needed drivers.