systemd做链接共享库有趣吗?
我有一个php扩展,它在php扩展目录之外加载一个共享库。 如果我运行php-cli或从CLI启动php-fpm,它将按预期工作,而phpinfo()将显示扩展如何构build:
Compile-time ORACLE_HOME /path/to/oracle_home Libraries Used -Wl,-rpath,/path/to/oracle_home/lib -L/path/to/oracle_home/lib -lclntsh
当使用systemd(systemctl)启动php-fpm时,这个错误出现在日志中:
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/下也不会有帮助