1--TEST--
2mysql_pconnect() - disabling feature
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6require_once('skipifconnectfailure.inc');
7?>
8--INI--
9mysql.allow_persistent=1
10mysql.max_persistent=1
11mysql.max_links=2
12--FILE--
13<?php
14	require_once("connect.inc");
15	require_once("table.inc");
16	mysql_close($link);
17
18	if ($socket)
19		$myhost = sprintf("%s:%s", $host, $socket);
20	else if ($port)
21		$myhost = sprintf("%s:%s", $host, $port);
22	else
23	$myhost = $host;
24
25	if (($plink = mysql_pconnect($myhost, $user, $passwd)))
26		printf("[001] Can connect to the server.\n");
27
28	if ((mysql_select_db($db, $plink)) &&
29			($res = mysql_query('SELECT id FROM test', $plink)) &&
30			($row = mysql_fetch_assoc($res)) &&
31			(mysql_free_result($res))) {
32		printf("[002] Can fetch data using persistent connection! Data = '%s'\n",
33			$row['id']);
34	} else {
35		printf("[002] [%d] %s\n", mysql_errno($plink), mysql_error($plink));
36	}
37
38	$thread_id = mysql_thread_id($plink);
39	mysql_close($plink);
40
41	if (!($plink = mysql_pconnect($myhost, $user, $passwd)))
42		printf("[003] Cannot connect, [%d] %s\n", mysql_errno(), mysql_error());
43
44	if (mysql_thread_id($plink) != $thread_id)
45		printf("[004] Looks like the second call to pconnect() did not give us the same connection.\n");
46
47	$thread_id = mysql_thread_id($plink);
48	mysql_close($plink);
49
50	if (!($plink = mysql_connect($myhost, $user, $passwd, true)))
51		printf("[005] Cannot connect, [%d] %s\n", mysql_errno(), mysql_error());
52
53	if (mysql_thread_id($plink) == $thread_id)
54		printf("[006] Looks like connect() did not return a new connection.\n");
55
56	if (($link = mysql_connect($myhost, $user, $passwd, true)))
57		printf("[007] Can connect although limit has been reached, [%d] %s\n", mysql_errno(), mysql_error());
58
59	print "done!";
60?>
61--EXPECTF--
62[001] Can connect to the server.
63[002] Can fetch data using persistent connection! Data = '1'
64
65Warning: mysql_connect(): Too many open links (2) in %s on line %d
66done!