aharvey Tue, 09 Mar 2010 05:08:31 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=295982
Log: Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0). Bug: http://bugs.php.net/51242 (Assigned) Empty mysql.default_port does not default to 3306 anymore, but 0 Changed paths: U php/php-src/branches/PHP_5_3/NEWS A php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt A php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc U php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c A php/php-src/trunk/ext/mysql/tests/bug51242.phpt A php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc U php/php-src/trunk/ext/mysqlnd/mysqlnd.c Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2010-03-09 03:12:30 UTC (rev 295981) +++ php/php-src/branches/PHP_5_3/NEWS 2010-03-09 05:08:31 UTC (rev 295982) @@ -6,6 +6,8 @@ - Added stream filter support to mcrypt extension (ported from mcrypt_filter). (Stas) +- Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, + but 0). (Adam) - Fixed bug #51237 (milter SAPI crash on startup). (igmar at palsenberg dot com) - Fixed bug #51213 (pdo_mssql is trimming value of the money column). (Ilia, alexr at oplot dot com) Added: php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt =================================================================== --- php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/mysql/tests/bug51242.phpt 2010-03-09 05:08:31 UTC (rev 295982) @@ -0,0 +1,38 @@ +--TEST-- +Bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0) +--INI-- +mysql.default_port= +mysql.default_socket=/this/does/not/really/need/to/exist +--SKIPIF-- +<?php +require_once('skipif.inc'); +require_once('skipifnotmysqlnd.inc'); + +// Specific to this bug: we need to be able to connect via TCP. We'll use +// 127.0.0.1:3306 as a (hopefully) moderately sensible default if the hostname +// is actually specified as localhost. +if ($host == 'localhost') { + $host = '127.0.0.1'; +} + +if (!...@mysql_connect("$host:3306", $user, $passwd)) { + die("skip mysql not available at $host:3306"); +} +?> +--FILE-- +<?php +require_once('connect.inc'); + +if ($host == 'localhost') { + $host = '127.0.0.1'; +} + +if ($link = my_mysql_connect($host, $user, $passwd, $db, null, $socket)) { + var_dump($link); +} else { + printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", + $host, $user, $db, null, $socket); +} +?> +--EXPECTF-- +resource(%d) of type (mysql link) Added: php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc =================================================================== --- php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc (rev 0) +++ php/php-src/branches/PHP_5_3/ext/mysql/tests/skipifnotmysqlnd.inc 2010-03-09 05:08:31 UTC (rev 295982) @@ -0,0 +1,5 @@ +<?php +if (strpos(mysql_get_client_info(), 'mysqlnd') === false) { + die('skip mysqlnd extension not available'); +} +?> Modified: php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-03-09 03:12:30 UTC (rev 295981) +++ php/php-src/branches/PHP_5_3/ext/mysqlnd/mysqlnd.c 2010-03-09 05:08:31 UTC (rev 295982) @@ -527,9 +527,6 @@ db = ""; db_len = 0; } - if (!port && !socket) { - port = 3306; - } host_len = strlen(host); #ifndef PHP_WIN32 if (host_len == sizeof("localhost") - 1 && !strncasecmp(host, "localhost", host_len)) { @@ -541,6 +538,10 @@ } else #endif { + if (!port) { + port = 3306; + } + transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port); } DBG_INF_FMT("transport=%s", transport); Added: php/php-src/trunk/ext/mysql/tests/bug51242.phpt =================================================================== --- php/php-src/trunk/ext/mysql/tests/bug51242.phpt (rev 0) +++ php/php-src/trunk/ext/mysql/tests/bug51242.phpt 2010-03-09 05:08:31 UTC (rev 295982) @@ -0,0 +1,38 @@ +--TEST-- +Bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0) +--INI-- +mysql.default_port= +mysql.default_socket=/this/does/not/really/need/to/exist +--SKIPIF-- +<?php +require_once('skipif.inc'); +require_once('skipifnotmysqlnd.inc'); + +// Specific to this bug: we need to be able to connect via TCP. We'll use +// 127.0.0.1:3306 as a (hopefully) moderately sensible default if the hostname +// is actually specified as localhost. +if ($host == 'localhost') { + $host = '127.0.0.1'; +} + +if (!...@mysql_connect("$host:3306", $user, $passwd)) { + die("skip mysql not available at $host:3306"); +} +?> +--FILE-- +<?php +require_once('connect.inc'); + +if ($host == 'localhost') { + $host = '127.0.0.1'; +} + +if ($link = my_mysql_connect($host, $user, $passwd, $db, null, $socket)) { + var_dump($link); +} else { + printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", + $host, $user, $db, null, $socket); +} +?> +--EXPECTF-- +resource(%d) of type (mysql link) Added: php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc =================================================================== --- php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc (rev 0) +++ php/php-src/trunk/ext/mysql/tests/skipifnotmysqlnd.inc 2010-03-09 05:08:31 UTC (rev 295982) @@ -0,0 +1,5 @@ +<?php +if (strpos(mysql_get_client_info(), 'mysqlnd') === false) { + die('skip mysqlnd extension not available'); +} +?> Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c =================================================================== --- php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-03-09 03:12:30 UTC (rev 295981) +++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c 2010-03-09 05:08:31 UTC (rev 295982) @@ -527,9 +527,6 @@ db = ""; db_len = 0; } - if (!port && !socket) { - port = 3306; - } host_len = strlen(host); #ifndef PHP_WIN32 if (host_len == sizeof("localhost") - 1 && !strncasecmp(host, "localhost", host_len)) { @@ -541,6 +538,10 @@ } else #endif { + if (!port) { + port = 3306; + } + transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port); } DBG_INF_FMT("transport=%s", transport);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php