Systemd делает что-нибудь забавное с компоновкой разделяемых библиотек?
У меня есть расширение php, которое загружает общую библиотеку вне каталога расширения php. Если я запускаю php-cli или запускаю php-fpm из интерфейса командной строки, он работает должным образом, а phpinfo () показывает, как было создано расширение:
Compile-time ORACLE_HOME /path/to/oracle_home
Libraries Used -Wl,-rpath,/path/to/oracle_home/lib -L/path/to/oracle_home/lib -lclntsh
При запуске php-fpm с использованием systemd (systemctl) эта ошибка отображается в журналах:
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/oci8.so' - libclntsh.so.12.1: cannot open shared object file: No such file or directory in Unknown on line 0
Разве -lclntsh не должен использовать rpath для поиска необходимой библиотеки? Почему systemd это нарушает?
Примечание. Добавление следующего в файл модуля не помогает:
Environment=LD_LIBRARY_PATH=/path/to/oracle_home/lib
Не помогает и добавление этого пути в /etc/ld.so.conf.d/