]> granicus.if.org Git - php/commitdiff
- Fix bug #60155 (pdo_mysql.default_socket ignored).
authorJohannes Schlüter <johannes@php.net>
Wed, 2 Nov 2011 15:45:53 +0000 (15:45 +0000)
committerJohannes Schlüter <johannes@php.net>
Wed, 2 Nov 2011 15:45:53 +0000 (15:45 +0000)
ext/pdo_mysql/mysql_driver.c
ext/pdo_mysql/pdo_mysql.c

index a5ccec8e25554072bd54df9397370dc0906c25a9..4d87b6df5f3878a33326323d523a2a2716af3965 100755 (executable)
@@ -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 */
index b9fdc01f64002abf87e5db4a9947c088b454071f..9545887fe855f83101a14bbe99d10299f980d21b 100755 (executable)
@@ -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
 }