From: Johannes Schlüter Date: Wed, 2 Nov 2011 15:45:53 +0000 (+0000) Subject: - Fix bug #60155 (pdo_mysql.default_socket ignored). X-Git-Tag: php-5.5.0alpha1~941 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=026445a0aa2f9865dac89e3bdfec1a4c9183913a;p=php - Fix bug #60155 (pdo_mysql.default_socket ignored). --- diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c index a5ccec8e25..4d87b6df5f 100755 --- a/ext/pdo_mysql/mysql_driver.c +++ b/ext/pdo_mysql/mysql_driver.c @@ -525,12 +525,11 @@ static struct pdo_dbh_methods mysql_methods = { pdo_mysql_check_liveness }; /* }}} */ -#ifdef PDO_USE_MYSQLND -# ifdef PHP_WIN32 -# define MYSQL_UNIX_ADDR "MySQL" -# else -# define MYSQL_UNIX_ADDR PDO_MYSQL_G(default_socket) -# endif + +#ifdef PHP_WIN32 +# define MYSQL_UNIX_ADDR NULL +#else +# define MYSQL_UNIX_ADDR PDO_MYSQL_G(default_socket) #endif /* {{{ pdo_mysql_handle_factory */ diff --git a/ext/pdo_mysql/pdo_mysql.c b/ext/pdo_mysql/pdo_mysql.c index b9fdc01f64..9545887fe8 100755 --- a/ext/pdo_mysql/pdo_mysql.c +++ b/ext/pdo_mysql/pdo_mysql.c @@ -37,12 +37,22 @@ ZEND_GET_MODULE(pdo_mysql) ZEND_DECLARE_MODULE_GLOBALS(pdo_mysql); -#ifndef PHP_WIN32 -# ifndef PDO_MYSQL_UNIX_ADDR -# ifdef PHP_MYSQL_UNIX_SOCK_ADDR -# define PDO_MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR -# else +/* + The default socket location is sometimes defined by configure. + With libmysql `mysql_config --socket` will fill PDO_MYSQL_UNIX_ADDR + and the user can use --with-mysql-sock=SOCKET which will fill + PDO_MYSQL_UNIX_ADDR. If both aren't set we're using mysqlnd and use + /tmp/mysql.sock as default on *nix and NULL for Windows (default + named pipe name is set in mysqlnd). +*/ +#ifndef PDO_MYSQL_UNIX_ADDR +# ifdef PHP_MYSQL_UNIX_SOCK_ADDR +# define PDO_MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR +# else +# if !PHP_WIN32 # define PDO_MYSQL_UNIX_ADDR "/tmp/mysql.sock" +# else +# define PDO_MYSQL_UNIX_ADDR NULL # endif # endif #endif @@ -141,7 +151,7 @@ static PHP_MINFO_FUNCTION(pdo_mysql) php_info_print_table_end(); -#ifdef PDO_USE_MYSQLND +#ifndef PHP_WIN32 DISPLAY_INI_ENTRIES(); #endif }