php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #11863 Cannot connect to mysql server
Submitted: 2001-07-03 16:28 UTC Modified: 2001-11-20 19:37 UTC
From: veins at kheos dot net Assigned:
Status: Not a bug Package: MySQL related
PHP Version: 4.0.6 OS: Unix
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: veins at kheos dot net
New email:
PHP Version: OS:

 

 [2001-07-03 16:28 UTC] veins at kheos dot net
I am using php-4.0.6 with MySQL-3.23.39 and there seems to be a problem with connecting to the database server. Problem that didn't happen with any previous version (even php-4.0.5 that i was using till today). phpinfo() shows a correct configuration and correct path to the socket, mysql server works correctly from console and i'm not using the bundled libraries (tried them also and it gave the same error). This was reproductible under OpenBSD-2.7-stable, OpenBSD-2.8, OpenBSD-2.8-stable, OpenBSD-2.9, OpenBSD-2.9-stable, Linux Debian (current), Linux RedHat 7.0, Linux Slackware 7.1 and probably others.


Configuration flags of PHP are:

--with-apache=/usr/local/apache --with-mysql=/usr/local/mysqlc --with-openssl=/usr/local/ssl --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-ttf=/usr/local --enable-apc --enable-calendar --enable-bcmath --enable-track-vars


MySQL related configuration directives in php.ini are:

mysql.allow_persistent = Off
mysql.max_persistent = 0
mysql.max_links = 1000
mysql.default_port = 3306
mysql.default_socket = /usr/local/mysqlc/var/mysql.sock
mysql.default_host = localhost


MySQL was compiled with the following flags:

--enable-static --localstatedir=/usr/local/mysqlc/var --with-libwrap=/usr --with-mysqld-user=mysqlc --with-unix-socket-path=/usr/local/mysqlc/var/mysql.sock --with-tcp-port=3306 --without-bench --without-mit-threads


Error returned:

Warning: Can't connect to local MySQL server through socket '/usr/local/mysqlc/var/mysql.sock' (13) in /home/www/k/kheos.net/test.php on line 3

Warning: MySQL Connection Failed: Can't connect to local MySQL server through socket '/usr/local/mysqlc/var/mysql.sock' (13) in /home/www/k/kheos.net/test.php on line 3


Script that returned the error:

<? mysql_connect("localhost","joeuser","joepassword"); ?>


By the way, if someone would care to write a patch for:
http://www.php.net/bugs.php?id=11767
I'd appreciate it cause i got poor C skills  ;p

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-07-03 16:32 UTC] derick@php.net
It works fine here. Are you sure MySQl is actually running, and are the permissions on the socket correct?

Derick
 [2001-07-03 16:41 UTC] veins at kheos dot net
Yeah, the server is actually running as i can connect to it from console. The socket is set srwxrwxrwx so it is also ok i presume.
The exact same configuration used to work with php-4.0.5 :/
 [2001-07-03 16:44 UTC] veins at kheos dot net
Yeah, the server is actually running as i can connect to it from console. The socket is set srwxrwxrwx so it is also ok i presume.
The exact same configuration used to work with php-4.0.5 :/
 [2001-07-04 13:35 UTC] derick@php.net
Hello,

can you make a page with <?php phpinfo(); ?> available to us?

Derick
 [2001-07-04 15:41 UTC] veins at kheos dot net
of course  ;)

http://www.kheos.net/info.php

I'm making it right now so by the time you see this post it'll be available.

Best regards,
Veins
 [2001-07-04 15:48 UTC] veins at kheos dot net
By the way, i've been testing a few things and php will connect to the database if i trick it into using tcp connection instead of socket connection and using LAN ip address instead of 'localhost' or loopback IP address.

Won't work:
<? mysql_connect("localhost:3306", "me","mypass"); ?>

Won't work either:
<? mysql_connect("localhost:/path/to/socket", "me","mypass"); ?>

Works (when i define sql to be LAN ip address of server):
<? mysql_connect("sql", "me","mypass"); ?>

 [2001-11-20 19:36 UTC] mfischer@php.net
Thats the behaviuor of mysql. Explicit address has to be given to establish a TCP connection.

If you can't connect through the socket it is definitive a configuration issue. If in doubt, upgrade to latest RC

http://www.php.net/~zeev/php-4.1.0RC3.tar.gz

Please ask such questions at php-general@lists.php.net first.

Not really a bug, bogus.
 [2001-11-20 19:37 UTC] mfischer@php.net
Simon sez bogus.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 06:01:30 2024 UTC