summaryrefslogtreecommitdiff
path: root/ext/pdo_mysql
diff options
context:
space:
mode:
authorsteffen <steffenb198@aol.com>2015-01-05 16:50:20 +0100
committerAnatol Belski <ab@php.net>2015-01-15 16:42:51 +0100
commit7c9633412e1598495dfe547071a2a1481bfc052b (patch)
treec2cf3f30d2bf57bf0e2d8e39605a71ae67526ea0 /ext/pdo_mysql
parent73c1be26531f730d64d61962b56eaf28ce3fc6aa (diff)
downloadphp-git-7c9633412e1598495dfe547071a2a1481bfc052b.tar.gz
PDO_MySQL: Differentiate between linux and win32 when passing unix_socket
Unix uses "127.0.0.1" as default host for named pipes, while when using Windows a "." is required as host by mysqlnd. (This can be seen at mysqlnd.c (line 945 or searching #ifndef PHP_WIN32)
Diffstat (limited to 'ext/pdo_mysql')
-rw-r--r--ext/pdo_mysql/mysql_driver.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c
index 88c863bac5..1282c5bc77 100644
--- a/ext/pdo_mysql/mysql_driver.c
+++ b/ext/pdo_mysql/mysql_driver.c
@@ -743,9 +743,14 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
if(vars[3].optval) {
port = atoi(vars[3].optval);
}
- if (vars[2].optval && !strcmp("localhost", vars[2].optval)) {
- unix_socket = vars[4].optval;
- }
+
+#ifdef PHP_WIN32
+ if (vars[2].optval && !strcmp(".", vars[2].optval)) {
+#else
+ if (vars[2].optval && !strcmp("localhost", vars[2].optval)) {
+#endif
+ unix_socket = vars[4].optval;
+ }
/* TODO: - Check zval cache + ZTS */
#ifdef PDO_USE_MYSQLND