#perl #oracle #dbi
#perl #Oracle #dbi
Вопрос:
У меня есть простой perl-скрипт, который использует DBD:: Oracle для выполнения запроса и печати результатов. Он отлично работает из командной строки, но у меня также есть PHP-скрипт, который запускает его и считывает выходные данные. При обращении к PHP-скрипту через apache не удается подключиться с ошибкой «OCIEnvInit».
Я попытался создать сценарий оболочки, который повторно устанавливает все переменные среды, доступные в оболочке, но это не помогло, и я также попытался настроить отладочный вывод для DBI, но ничего не получил. Что может вызвать эту ошибку, когда скрипт работает?
Ответ №1:
Вы уверены, что ORACLE_HOME
и другим соответствующим переменным среды (например, LD_LIBRARY_PATH
), которые устанавливаются в вашей командной оболочке при запуске скрипта из командной строки, также установлены те же значения в процессе apache / PHP?
Комментарии:
1. Странно, что в командной строке не установлены значения, но у apache есть. Я узнаю, поможет ли их удаление.
2. Оказывается, что удаление их из среды apache действительно сработало.