Annotation of embedaddon/php/ext/mysql/tests/mysql_max_links.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mysql_[p]connect() - max_links/max_persistent
3: --SKIPIF--
4: <?php
5: require_once('skipif.inc');
6: require_once('skipifconnectfailure.inc');
7: ?>
8: --INI--
9: mysql.max_links=2
10: --FILE--
11: <?php
12: require_once('connect.inc');
13:
14: function my_connect($offset, $host, $user, $passwd, $db, $port, $socket) {
15: if ($socket)
16: $host = sprintf("%s:%s", $host, $socket);
17: else if ($port)
18: $host = sprintf("%s:%s", $host, $port);
19:
20: $link = mysql_connect($host, $user, $passwd, true);
21:
22: if (!$link) {
23: printf("[%03d] Cannot connect using host '%s', user '%s', password '****', [%d] %s\n",
24: $offset, $host, $user, $passwd,
25: mysql_errno(), mysql_error());
26: return false;
27: }
28:
29: return $link;
30: }
31:
32: $links = array();
33:
34: // try to open 3 links
35: $links[0] = my_connect(10, $host, $user, $passwd, $db, $port, $socket);
36: $links[1] = my_connect(20, $host, $user, $passwd, $db, $port, $socket);
37: $links[2] = my_connect(30, $host, $user, $passwd, $db, $port, $socket);
38: if (false !== $links[2])
39: printf("[040] Last connection should not have been allowed!\n");
40:
41: // free some links but let index 1 remain
42: unset($links[2]);
43: mysql_close($links[0]);
44: unset($links[0]);
45:
46: // should be allowed -> second open connection
47: $links[0] = my_connect(50, $host, $user, $passwd, $db, $port, $socket);
48: $links[2] = my_connect(60, $host, $user, $passwd, $db, $port, $socket);
49: ksort($links);
50: var_dump($links);
51:
52: mysql_close($links[0]);
53: mysql_close($links[1]);
54: print "done!\n";
55: ?>
56: --EXPECTF--
57: Warning: mysql_connect(): Too many open links (2) in %s on line %s
58: [030] Cannot connect using host '%s', user '%s', password '****', [0] 0
59:
60: Warning: mysql_connect(): Too many open links (2) in %s on line %s
61: [060] Cannot connect using host '%s', user '%s', password '****', [0] 0
62: array(3) {
63: [0]=>
64: resource(%d) of type (mysql link)
65: [1]=>
66: resource(%d) of type (mysql link)
67: [2]=>
68: bool(false)
69: }
70: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>