1--TEST-- 2MySQL PDO->__construct() - URI 3--SKIPIF-- 4<?php 5require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc'); 6require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); 7MySQLPDOTest::skip(); 8/* TODO - fix this limitation */ 9if (getenv('PDO_MYSQL_TEST_DSN') !== "mysql:dbname=phptest;unix_socket=/tmp/mysql.sock") 10 die("skip Fix test to run in other environments as well!"); 11?> 12--INI-- 13pdo.dsn.mysql="mysql:dbname=phptest;socket=/tmp/mysql.sock" 14--FILE-- 15<?php 16 require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); 17 18 $found = false; 19 $values = ini_get_all(); 20 foreach ($values as $name => $dsn) 21 if ('pdo.dsn.mysql' == $name) { 22 printf("pdo.dsn.mysql=%s\n", $dsn); 23 $found = true; 24 break; 25 } 26 27 if (!$found) { 28 $dsn = ini_get('pdo.dsn.mysql'); 29 $found = ($dsn !== false); 30 } 31 32 if (!$found) 33 printf("pdo.dsn.mysql cannot be accessed through ini_get_all()/ini_get()\n"); 34 35 if (MySQLPDOTest::getDSN() == $dsn) { 36 // we are lucky, we can run the test 37 try { 38 39 $user = PDO_MYSQL_TEST_USER; 40 $pass = PDO_MYSQL_TEST_PASS; 41 $db = new PDO('mysql', $user, $pass); 42 43 } catch (PDOException $e) { 44 printf("[001] %s, [%s] %s\n", 45 $e->getMessage(), 46 (is_object($db)) ? $db->errorCode() : 'n/a', 47 (is_object($db)) ? implode(' ', $db->errorInfo()) : 'n/a'); 48 } 49 50 } 51 52 print "done!"; 53?> 54--EXPECTF-- 55pdo.dsn.mysql cannot be accessed through ini_get_all()/ini_get() 56done! 57