我正在使用 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:无法打开共享对象文件