Ошибка ocilogon(): OCIEnvInit() failed при подключении к Oracle

Sulfur

Новичок
Ошибка ocilogon(): OCIEnvInit() failed при подключении к Oracle

Господа. У меня возникла следующая проблема. Появилась необходимость работы с Oracle из PHP. Работать надо через OCI8. Подклбчал extension как написано в мануале. В итоге всех манипуляций phpinfo() показало следующее:

OCI8 Support enabled
Revision $Revision: 1.274 $
Active Persistent Connections 0
Active Connections 0
Temporary Lob support enabled
Collections support enabled


Это все конечно здорово, но через такой скрипт

if ($c=OCILogon("user", "pass", "tmc")) {
echo "Successfully connected to Oracle.\n";
OCILogoff($c);
} else {
$err = OCIError();
echo "Oracle Connect Error " . $err[text];
}

подключение не получается. Выдается следующая ошибка:

Warning: ocilogon(): OCIEnvInit() failed. There is something wrong with your system - please check that ORACLE_HOME is set and points to the right directory in z:\home\test2.ru\www\oratest.php on line 6

Warning: ocierror(): OCIError: unable to find error handle in z:\home\test2.ru\www\oratest.php on line 10

Посмотрел переменные окружения ORACLE_HOME, ORACLE_SID, TNS_ADMIN через print_r($GLOBALS);. Все в порядке и соответствует действительности. Пробовал устанавливать эти переменные через PutEnv - безрезультатно.

ora_ ф-ии отключены, и, кстати, через них все работает (по крайней мере соединяется и простенький запрос выполняется).

Подскажите пожалуйста, куда копать?
Платформа: Windows 2000 SP4/ PHP 4.0.4/ Apache 1.3.33.
 

Sulfur

Новичок
Автор оригинала: si
обнови PHP
Спасибо. Обновил до версии 5.0.4 - все заработало. Теперь другой вопрос - имеет ли смысл обновлять до 5.1.х. Т.е. были ли замечены глюки при работе с версией 5.0.4?
 

Silbermann

Новичок
Ребзи, почему PL/SQL Developer работает без переменных среды, а PHP не хочет коннектицца к базе. Помогите их прописать. На моей машине стоит WinXP, PHP 5.1.2, Apache2. В переменных окружения прописана только PATH - т.е. путь до клиентов оракла, они лежат на другой машине. Сам Оракл стоит на серваке под Линуксом. При попытке приконнектицца, выдает такую же ошибку, которая была выше описана. Пожалуйста, я уже 3 дня бьюсь.
 

tony2001

TeaM PHPClub
"Ребзи" (рэбэ?) не в курсе как и что использует программа под названием "PL/SQL Developer".

>т.е. путь до клиентов оракла, они лежат на другой машине.
так и прописано? "на другой машине в соседней комнате"?
 

Silbermann

Новичок
да не обращай внимания, туплю немного, просто проблема уже достала, работа не продвигается из-за этого
Не могу правильно прописать ORACLE_HOME, как объединить правильно имя хоста и строку ORACLE_HOME, которую с сервака взял ?
 

tony2001

TeaM PHPClub
какое имя хоста и зачем его объединять с чем-то?
ORACLE_HOME - это путь к _локальным_ клиентским либам, никаких хостов там нет.
 

Silbermann

Новичок
Дак Oracle на сервере стоит, а apache и php на другой машине

-~{}~ 01.03.06 12:04:

ааа, т.е. в ORACLE_HOME нужно указать путь к библиотекам клиентов ORACLE ?

-~{}~ 01.03.06 12:06:

Просто в описании то сказано, что ORACLE_HOME - это каталог, куда Oracle установлен.

-~{}~ 02.03.06 04:35:

Ребята, у меня следующая проблема. Добавляю новые переменные окружения, например ORACLE_HOME, а они не видны через print_r($GLOBALS);. Почему такое может быть ?
 
Сверху