By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,215 Members | 1,005 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,215 IT Pros & Developers. It's quick & easy.

Problems getting PHP and MySQL to play nice

P: n/a
Hi all. Can't seem to get PHP to play nice with MySQL.

First I logged into MySQL, created the db, switched to it and then
granted (what I thought were) correct privileges:

----[%begin%]----

Macintosh-7:~ jason$ /usr/local/mysql/bin/mysql -u root

mysqlcreate database wes;
Query OK, 1 row affected (0.00 sec)

mysqluse wes
Database changed

mysqlgrant all privileges on wes.* to user@localhost identified by
'changeme'
-;
Query OK, 0 rows affected (0.08 sec)

----[%end%]----

I then created a bit of PHP to test this...

----[%begin%]----

<?php

$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'changeme';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error
connecting to mysql');

?>

----[%end%]----

But when I access that PHP page, I get:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to
local MySQL server through socket '/var/mysql/mysql.sock' (2) in /
Library/WebServer/Documents/wes/mysql_test.php on line 7
Error connecting to mysql

Any thoughts on what I'm doing wrong? I have checked to make sure
Apache and PHP are running. I can access scripts through localhost
just fine, the problem is only with MySQL.

Thanks much in advance,
Jason
Sep 26 '08 #1
Share this Question
Share on Google+
5 Replies


P: n/a
bodhiSoma wrote:
But when I access that PHP page, I get:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to
local MySQL server through socket '/var/mysql/mysql.sock' (2) in /
Library/WebServer/Documents/wes/mysql_test.php on line 7
Error connecting to mysql
This is a quite common error when the mysql daemon isn't running, check that
it's still running and the socket file is created in /var/mysql direcotry.
--

//Aho
Sep 26 '08 #2

P: n/a
On Sep 26, 2:57*pm, "J.O. Aho" <u...@example.netwrote:
This is a quite common error when the mysql daemon isn't running, check that
it's still running and the socket file is created in /var/mysql direcotry..

--

* *//Aho
Hm.

Well, I check OS X's System Preferences and for the MySQL prefs it
says:

"The MySQL Database Server is started and ready for client
connections. ... The MySQL Server Instance is running."

I also tried two other variables for $dbhost ("localhost:3306" and ":/
usr/local/mysql/bin/mysql.sock"). Neither worked.

Any idea why it would be acting like it's not running when it is? =/

Again, thanks,
Jason
Sep 26 '08 #3

P: n/a
On Sep 26, 2:57*pm, "J.O. Aho" <u...@example.netwrote:
This is a quite common error when the mysql daemon isn't running, check that
it's still running and the socket file is created in /var/mysql direcotry..

--

* *//Aho
Oh, forgot to mention that there isn't a /var/mysql directory. I'm
running OS X if that helps.

Jason
Sep 26 '08 #4

P: n/a
On Sep 26, 2:57*pm, "J.O. Aho" <u...@example.netwrote:
This is a quite common error when the mysql daemon isn't running, check that
it's still running and the socket file is created in /var/mysql direcotry..

--

* *//Aho
Figured it out through a rather bovine method.

Stopped the process then tried to connect by accident and got:

Macintosh-7:/usr/local/mysql/bin jason$ /usr/local/mysql/bin/mysql -
u root
ERROR 2002 (HY000): Can't connect to local MySQL server through
socket '/tmp/mysql.sock' (2)

Well, there's my socket. Changed the PHP to reflect this with:

$dbhost = ':/tmp/mysql.sock';

....and voila, connected.

Thanks!!!,
Jason
Sep 26 '08 #5

P: n/a
On Sep 26, 12:30*pm, bodhiSoma <bodhis...@gmail.comwrote:
On Sep 26, 2:57*pm, "J.O. Aho" <u...@example.netwrote:
This is a quite common error when the mysql daemon isn't running, checkthat
it's still running and the socket file is created in /var/mysql direcotry.
--
* *//Aho

Figured it out through a rather bovine method.

Stopped the process then tried to connect by accident and got:

* *Macintosh-7:/usr/local/mysql/bin jason$ /usr/local/mysql/bin/mysql-
u root
* *ERROR 2002 (HY000): Can't connect to local MySQL server through
socket '/tmp/mysql.sock' (2)

Well, there's my socket. *Changed the PHP to reflect this with:

* *$dbhost = ':/tmp/mysql.sock';

...and voila, connected.

Thanks!!!,
Jason
Glad you solved this. I got stuck on the same issue and figured it
out after a bunch of stress and have noticed posts on other lists
where people have had the same problem. Another way to deal with this
is to create the directory php is looking for and put a symbolic link
there to the socket file.

--Kenoli
Sep 29 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.