Ireruss
Новичок
Как заставить работать PHP с Oracle?
OC: Windows 2003
БД: Oracle 9.2
(устанавливали "специально обученные люди" со стандартным клиентом)
Web-сервер: Apache 2.2.11 (win32-x86)
PHP 5.2.0 (win32)
(ставил, настраивал сам так как описано, например, в FAQ phpclub`а )
тестовый пример выдает:
Fatal error: Call to undefined function oci_connect() in D:\Apache\htd\test.php on line 13
extension_dir - прописан верно и
extension = php_oci8.dll раскомментировано.
Посмотрел зависимости php_oci8.dll - не удовлетворяется по oci.dll.
Соответственно php_oci8.dll не грузится, что видно и по выводу phpinfo().
Заменил стандартную oci.dll на такую же из Oracle Instant Client. Зависимости - удовлетворены. php_oci8.dll грузится, подключается. phpinfo() пишет:
Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in D:\Apache\htd\test.php on line 13
Warning: ocierror() [function.ocierror]: OCIError: unable to find error handle in D:\Apache\htd\test.php on line 19
Notice: Use of undefined constant code - assumed 'text' in D:\Apache\htd\test.php on line 20
Oracle Connect Error
Тестовый пример стандартный:
Гугл ничего не присоветовал :-(
Instant Client админ Оракла ставить категорически отказывается.
Есть ли возможность заставить работать PHP с Oracle через стандартный клиент или без установки Instant Client`а никак?
Почему не работают ф-ии oci8 и при замене стандартной библиотекиoci.dll на аналог из Instant Client`а?
Может я вообще что-то не то делаю?
P.S. Си-шные программы работают на этом сервере с Ораклом через oci без проблем со стандартным клиентом.
OC: Windows 2003
БД: Oracle 9.2
(устанавливали "специально обученные люди" со стандартным клиентом)
Web-сервер: Apache 2.2.11 (win32-x86)
PHP 5.2.0 (win32)
(ставил, настраивал сам так как описано, например, в FAQ phpclub`а )
тестовый пример выдает:
Fatal error: Call to undefined function oci_connect() in D:\Apache\htd\test.php on line 13
extension_dir - прописан верно и
extension = php_oci8.dll раскомментировано.
Посмотрел зависимости php_oci8.dll - не удовлетворяется по oci.dll.
Соответственно php_oci8.dll не грузится, что видно и по выводу phpinfo().
Заменил стандартную oci.dll на такую же из Oracle Instant Client. Зависимости - удовлетворены. php_oci8.dll грузится, подключается. phpinfo() пишет:
тестовый пример выдает:oci8
OCI8 Support enabled Version 1.2.2
Revision $Revision: 1.269.2.16.2.25 $
Active Persistent Connections 0
Active Connections 0
Temporary Lob support enabled
Collections support enabled
Directive - Local Value - Master Value
oci8.default_prefetch 10 10
oci8.max_persistent -1 -1
oci8.old_oci_close_semantics 0 0
oci8.persistent_timeout -1 -1
oci8.ping_interval 60 60
oci8.privileged_connect Off Off
oci8.statement_cache_size 20 20
Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in D:\Apache\htd\test.php on line 13
Warning: ocierror() [function.ocierror]: OCIError: unable to find error handle in D:\Apache\htd\test.php on line 19
Notice: Use of undefined constant code - assumed 'text' in D:\Apache\htd\test.php on line 20
Oracle Connect Error
Тестовый пример стандартный:
PHP:
<?php
if ($c=OCILogon("scott", "tiger", "orcl")) {
echo "Successfully connected to Oracle.\n";
OCILogoff($c);
}
else {
$err = OCIError();
echo "Oracle Connect Error " . $err[text];
}
?>
Instant Client админ Оракла ставить категорически отказывается.
Есть ли возможность заставить работать PHP с Oracle через стандартный клиент или без установки Instant Client`а никак?
Почему не работают ф-ии oci8 и при замене стандартной библиотекиoci.dll на аналог из Instant Client`а?
Может я вообще что-то не то делаю?
P.S. Си-шные программы работают на этом сервере с Ораклом через oci без проблем со стандартным клиентом.