我在哪里定义 LD_LIBRARY_PATH 以便 Apache 可以看到它?

我在哪里定义 LD_LIBRARY_PATH 以便 Apache 可以看到它?

我正在使用 Ubuntu 18.04。我已在 /etc/profile 文件中定义了这一点

export LD_LIBRARY_PATH=/usr/local/lib/

我正在尝试弄清楚我在哪里定义上述内容,以便 Apache 可以看到它。目前,当我启动 Apache 时,它​​会因错误而死机

$ sudo apachectl restart
apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/wsgi.load: Cannot load /usr/lib/apache2/modules/mod_wsgi.so into server: libpython3.9.so.1.0: cannot open shared object file: No such file or directory

我怀疑这是因为它没有找到上述变量。上面的内容应该在系统范围内的哪里定义?下面是“which apachectl”返回的内容(如果这很重要的话)...

$ which apachectl
/usr/sbin/apachectl

编辑:根据评论中的问题,apache.conf 文件的第 146 行是

IncludeOptional mods-enabled/*.load

我最近重建了 mod_wsgi 以使用 Python 3.9。Python 3.9 需要这个共享对象库。

答案1

对于 PHP 和 Oracle Express,请执行以下操作 https://httpd.apache.org/docs/2.4/mod/mod_env.html

对于 oracle linux,将其添加到 /etc/httpd/conf/httpd.conf SetEnv LD_LIBRARY_PATH=/opt/oracle/product/21c/dbhomeXE/lib/

错误:PHP 启动:无法加载动态库“oci8.so”(已尝试:/usr/lib64/php/modules/oci8.so(libclntsh.so.19.1:无法打开共享对象文件

相关内容