Redhat с httpd24 подключается к Informix с использованием DBI - PullRequest
2 голосов
/ 23 апреля 2019

Я в этом сообразительность.У меня есть 2 коробки RH7, на которые я только что установил httpd24 (v2.4.34).Они работали с httpd (v2.4.6) без каких-либо проблем с подключением.Теперь, когда я пытаюсь запустить Perl-скрипты из браузера, они терпят неудачу с ...

install_driver(Informix) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Informix/Informix.so' for module DBD::Informix: libifsql.so: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.
 at (eval 5) line 3.
Compilation failed in require at (eval 5) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at /var/www/html/app/cgi-bin/test_informix_odbc.cgi line 35.

Но когда я запускаю тот же скрипт из командной строки, как «apache», он работает просто отлично.Все переменные ENV установлены правильно.

Кто-нибудь сталкивался с чем-то подобным раньше?

1 Ответ

0 голосов
/ 24 апреля 2019

Он больше не будет использовать переменную среды LD_LIBRARY_PATH, которую я устанавливал в httpd.conf.

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

Более новые версии httpd перестали вводить пользовательскую среду при запуске службы.Я нашел эту маленькую ошибку в /opt/rh/httpd24/service-environment.

grep -r "LD_LIBRARY_PATH" /opt/rh/httpd24/
/opt/rh/httpd24/enable:export LD_LIBRARY_PATH=/opt/rh/httpd24/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Я добавил стандартные пути informix в /opt/rh/httpd24/enable.

export LD_LIBRARY_PATH=/opt/IBM/informix/lib:/opt/IBM/informix/lib/esql:/opt/rh/httpd24/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

И все возвращается на круги своя.Woohoo!

...