summaryrefslogtreecommitdiff
path: root/ext/mysql/tests/mysql_pconn_reuse.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysql/tests/mysql_pconn_reuse.phpt')
-rw-r--r--ext/mysql/tests/mysql_pconn_reuse.phpt66
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