diff options
Diffstat (limited to 'ext/mysql/tests/mysql_pconn_reuse.phpt')
-rw-r--r-- | ext/mysql/tests/mysql_pconn_reuse.phpt | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/ext/mysql/tests/mysql_pconn_reuse.phpt b/ext/mysql/tests/mysql_pconn_reuse.phpt new file mode 100644 index 0000000..ffa5f75 --- /dev/null +++ b/ext/mysql/tests/mysql_pconn_reuse.phpt @@ -0,0 +1,66 @@ +--TEST-- +mysql_pconnect() - disabling feature +--SKIPIF-- +<?php +require_once('skipif.inc'); +require_once('skipifconnectfailure.inc'); +?> +--INI-- +mysql.allow_persistent=1 +mysql.max_persistent=1 +mysql.max_links=2 +--FILE-- +<?php + require_once("connect.inc"); + require_once("table.inc"); + mysql_close($link); + + if ($socket) + $myhost = sprintf("%s:%s", $host, $socket); + else if ($port) + $myhost = sprintf("%s:%s", $host, $port); + else + $myhost = $host; + + if (($plink = mysql_pconnect($myhost, $user, $passwd))) + printf("[001] Can connect to the server.\n"); + + if ((mysql_select_db($db, $plink)) && + ($res = mysql_query('SELECT id FROM test', $plink)) && + ($row = mysql_fetch_assoc($res)) && + (mysql_free_result($res))) { + printf("[002] Can fetch data using persistent connection! Data = '%s'\n", + $row['id']); + } else { + printf("[002] [%d] %s\n", mysql_errno($plink), mysql_error($plink)); + } + + $thread_id = mysql_thread_id($plink); + mysql_close($plink); + + if (!($plink = mysql_pconnect($myhost, $user, $passwd))) + printf("[003] Cannot connect, [%d] %s\n", mysql_errno(), mysql_error()); + + if (mysql_thread_id($plink) != $thread_id) + printf("[004] Looks like the second call to pconnect() did not give us the same connection.\n"); + + $thread_id = mysql_thread_id($plink); + mysql_close($plink); + + if (!($plink = mysql_connect($myhost, $user, $passwd, true))) + printf("[005] Cannot connect, [%d] %s\n", mysql_errno(), mysql_error()); + + if (mysql_thread_id($plink) == $thread_id) + printf("[006] Looks like connect() did not return a new connection.\n"); + + if (($link = mysql_connect($myhost, $user, $passwd, true))) + printf("[007] Can connect although limit has been reached, [%d] %s\n", mysql_errno(), mysql_error()); + + print "done!"; +?> +--EXPECTF-- +[001] Can connect to the server. +[002] Can fetch data using persistent connection! Data = '1' + +Warning: mysql_connect(): Too many open links (2) in %s on line %d +done!
\ No newline at end of file |