Bug #52434 [Opn->Bgs]: mysqlnd: host cannot be a hostname

From: Date: Sun, 25 Jul 2010 04:31:42 +0000
Subject: Bug #52434 [Opn->Bgs]: mysqlnd: host cannot be a hostname
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-152735@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=52434&edit=1

 ID:               52434
 Updated by:       dtajchreber@php.net
 Reported by:      anthon dot pang at gmail dot com
 Summary:          mysqlnd: host cannot be a hostname
-Status:           Open
+Status:           Bogus
 Type:             Bug
 Package:          MySQL related
 Operating System: Ubuntu 10.04
 PHP Version:      5.3.3

 New Comment:

Tell PHP where your mysql.sock file is via the DSN or
pdo_mysql.default_socket in 
the php.ini file and your error will go away. Your conclusion is way
off. 

http://www.php.net/manual/en/ref.pdo-mysql.connection.php


Previous Comments:
------------------------------------------------------------------------
[2010-07-25 04:42:45] anthon dot pang at gmail dot com

Description:
------------
With PDO_MYSQL, if PHP is linked with mysql client libraries (instead of
mysqlnd), the DSN can contain a host parameter with a hostname, e.g.,
host=localhost.

However, with mysqlnd, the host has to be an ip address, e.g.,
host=127.0.0.1.  This occurs for '--with-mysqli=mysqlnd' or
'--with-pdo-mysql=mysqlnd'.  It appears mysqlnd wants to use a Unix
socket even though the port is explictly specified,

This backward incompatibility surprises users migrating from php 5.2.x
and find their apps suddenly can't connect.

MySQL 5.1.41

Test script:
---------------
From Zend Framework 1.10.6:

        $_isConnected = @mysqli_real_connect(
            $this->_connection,
            $this->_config['host'],
            $this->_config['username'],
            $this->_config['password'],
            $this->_config['dbname'],
            $port
        );

Expected result:
----------------
Expect it to connect.


Actual result:
--------------
Warning: PDO::__construct() [pdo.--construct]: [2002] No such file or
directory (trying to connect via unix:///tmp/mysql.sock) in
/var/www/libs/Zend/Db/Adapter/Pdo/Abstract.php on line 129
SQLSTATE[HY000] [2002] No such file or directory


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=52434&edit=1


Thread (12 messages)

« previous php.bugs (#152735) next »