1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00

Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0).

This commit is contained in:
Adam Harvey
2010-03-09 05:08:31 +00:00
parent 68f805a6d0
commit bdbb2e77ca
4 changed files with 49 additions and 3 deletions

2
NEWS
View File

@@ -6,6 +6,8 @@ PHP NEWS
- 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)

View File

@@ -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)

View File

@@ -0,0 +1,5 @@
<?php
if (strpos(mysql_get_client_info(), 'mysqlnd') === false) {
die('skip mysqlnd extension not available');
}
?>

View File

@@ -527,9 +527,6 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND *conn,
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 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND *conn,
} else
#endif
{
if (!port) {
port = 3306;
}
transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port);
}
DBG_INF_FMT("transport=%s", transport);