mysqli_pconnect.phpt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. --TEST--
  2. mysqli_pconnect()
  3. --EXTENSIONS--
  4. mysqli
  5. --SKIPIF--
  6. <?php
  7. require_once('skipifconnectfailure.inc');
  8. ?>
  9. --FILE--
  10. <?php
  11. require_once("connect.inc");
  12. $host = 'p:' . $host;
  13. if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
  14. printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
  15. $host, $user, $db, $port, $socket);
  16. mysqli_close($link);
  17. $num = 20;
  18. $connections = array();
  19. for ($i = 0; $i < $num; $i++) {
  20. if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
  21. printf("[003] Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
  22. $connections[] = $link;
  23. }
  24. while (count($connections)) {
  25. do {
  26. $index = mt_rand(0, $num);
  27. } while (!isset($connections[$index]));
  28. mysqli_close($connections[$index]);
  29. unset($connections[$index]);
  30. }
  31. $connections = array();
  32. $num = 20;
  33. for ($i = 0; $i < $num; $i++) {
  34. if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
  35. printf("[004] Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
  36. $connections[] = $link;
  37. }
  38. $left = $num;
  39. while (count($connections) && $left > 0) {
  40. do {
  41. $index = mt_rand(0, $num);
  42. } while (!isset($connections[$index]) && $left > 0);
  43. if (mt_rand(0, 1) > 0) {
  44. $left--;
  45. mysqli_close($connections[$index]);
  46. unset($connections[$index]);
  47. } else {
  48. $left--;
  49. if (!$connections[$index] = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
  50. printf("[004] Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
  51. }
  52. flush();
  53. }
  54. while (count($connections)) {
  55. do {
  56. $index = mt_rand(0, $num);
  57. } while (!isset($connections[$index]));
  58. mysqli_close($connections[$index]);
  59. unset($connections[$index]);
  60. }
  61. print "done!";
  62. ?>
  63. --EXPECT--
  64. done!