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:
2
NEWS
2
NEWS
@@ -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)
|
||||
|
||||
38
ext/mysql/tests/bug51242.phpt
Normal file
38
ext/mysql/tests/bug51242.phpt
Normal 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)
|
||||
5
ext/mysql/tests/skipifnotmysqlnd.inc
Normal file
5
ext/mysql/tests/skipifnotmysqlnd.inc
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
if (strpos(mysql_get_client_info(), 'mysqlnd') === false) {
|
||||
die('skip mysqlnd extension not available');
|
||||
}
|
||||
?>
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user