bug_61292.phpt 1014 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. PDO Common: Bug #61292 (Segfault while calling a method on an overloaded PDO object)
  3. --EXTENSIONS--
  4. pdo
  5. --SKIPIF--
  6. <?php
  7. $dir = getenv('REDIR_TEST_DIR');
  8. if (false == $dir) die('skip no driver');
  9. require_once $dir . 'pdo_test.inc';
  10. PDOTest::skip();
  11. ?>
  12. --FILE--
  13. <?php
  14. if (getenv('REDIR_TEST_DIR') === false) putenv('REDIR_TEST_DIR='.__DIR__ . '/../../pdo/tests/');
  15. require_once getenv('REDIR_TEST_DIR') . 'pdo_test.inc';
  16. class Database_SQL extends PDO
  17. {
  18. function __construct()
  19. {
  20. $dsn = getenv('PDOTEST_DSN');
  21. $user = getenv('PDOTEST_USER');
  22. $pass = getenv('PDOTEST_PASS');
  23. if ($user === false) $user = NULL;
  24. if ($pass === false) $pass = NULL;
  25. $options = array(PDO::ATTR_PERSISTENT => TRUE);
  26. parent::__construct($dsn, $user, $pass, $options);
  27. }
  28. var $bar = array();
  29. public function foo()
  30. {
  31. var_dump($this->bar);
  32. }
  33. }
  34. (new Database_SQL)->foo();
  35. ?>
  36. --EXPECT--
  37. array(0) {
  38. }