123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- --TEST--
- Test External Authentication errors with oci_pconnect
- --EXTENSIONS--
- oci8
- --SKIPIF--
- <?php
- if (substr(PHP_OS, 0, 3) == 'WIN') die("skip feature not available on Windows platforms");
- die("skip random CI timeouts caused by Oracle Instant Client, see https://github.com/php/php-src/pull/9524#issuecomment-1244409815");
- ?>
- --INI--
- oci8.privileged_connect=1
- --FILE--
- <?php
- error_reporting(E_ALL ^ E_DEPRECATED);
- // Run Test
- echo "Test 1\n";
- $c = oci_pconnect('/', 'notemtpy', 'anything', null, OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 2\n";
- $c = oci_pconnect('notemtpy', 'notemtpy', 'anything', null, OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 3\n";
- $c = oci_pconnect('notemtpy', '', 'anything', null, OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 4\n";
- $c = oci_pconnect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 5\n";
- $c = oci_pconnect('a', 'b', 'c', null, OCI_SYSDBA+OCI_SYSOPER+OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 6\n";
- $c = oci_pconnect('', '', 'anything', null, OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 7\n";
- $c = oci_pconnect('/', '', 'anything', null, OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 8\n";
- $c = oci_pconnect('/', null, 'anything', null, OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 9\n";
- $c = oci_pconnect('/', '', 'd', null, OCI_SYSDBA+OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- echo "Test 10\n";
- $c = oci_pconnect('/', '', 'd', null, OCI_SYSOPER+OCI_CRED_EXT);
- if (!$c) {
- $m = oci_error();
- var_dump($m);
- }
- var_dump($c);
- ?>
- --EXPECTF--
- Test 1
- Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
- bool(false)
- bool(false)
- Test 2
- Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
- bool(false)
- bool(false)
- Test 3
- Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
- bool(false)
- bool(false)
- Test 4
- Warning: oci_pconnect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
- bool(false)
- bool(false)
- Test 5
- Warning: oci_pconnect(): OCI_SYSDBA and OCI_SYSOPER cannot be used together in %s on line %d
- bool(false)
- bool(false)
- Test 6
- Warning: oci_pconnect(): OCI_CRED_EXT can only be used with a username of "/" and a NULL password in %s on line %d
- bool(false)
- bool(false)
- Test 7
- Warning: oci_pconnect(): ORA-12154: %s in %s on line %d
- array(4) {
- ["code"]=>
- int(12154)
- ["message"]=>
- string(%d) "ORA-12154: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- bool(false)
- Test 8
- Warning: oci_pconnect(): ORA-12154: %s in %s on line %d
- array(4) {
- ["code"]=>
- int(12154)
- ["message"]=>
- string(%d) "ORA-12154: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- bool(false)
- Test 9
- Warning: oci_pconnect(): ORA-%d: TNS:%s in %s on line %d
- array(4) {
- ["code"]=>
- int(%d)
- ["message"]=>
- string(%d) "ORA-%d: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- bool(false)
- Test 10
- Warning: oci_pconnect(): ORA-%d: TNS:%s in %s on line %d
- array(4) {
- ["code"]=>
- int(%d)
- ["message"]=>
- string(%d) "ORA-%d: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- bool(false)
|