Ubuntu上的Apache 2.4:"无法加载驱动程序文件apr_dbd_oracle.so"

时间:2017-05-02 14:48:21

标签: linux oracle apache ubuntu

我正在运行Ubuntu 17.04。我有一个在Wildfly 10.1.0中运行的应用程序,我正在尝试使用Apache 2.4强制用户在浏览应用程序URL时登录。我已经在Windows环境中工作,并希望它就像将我的Apache配置文件复制到Ubuntu框一样简单,但事实并非如此。

我将以下行添加到httpd.conf

Include conf/extra/dbd.conf

conf / extra / dbd.conf的内容:

DBDriver oracle
DBDParams user=xx;pass=yy;server=zz
DBDMin  2
DBDKeep 4
DBDMax  10
DBDExptime 300

然后我尝试使用以下命令重新启动Apache:

sudo /usr/local/apache2/bin/apachectl restart -f /usr/local/apache2/conf/httpd.conf

我收到消息:

AH00526: Syntax error on line 1 of /usr/local/apache2/conf/extra/dbd.conf
Can't load driver file apr_dbd_oracle.so

我按照this教程介绍了如何构建文件apr_dbd_oracle.so。我试图通过运行命令来验证apr_dbd_oracle.so是否已正确构建:

ldd /usr/local/apr/lib/apr-util-1/apr_dbd_oracle.so

产生输出:

linux-vdso.so.1 =>  (0x00007ffc2d3f6000)
libclntsh.so.11.1 => /u01/app/oracle/product/11.2.0/xe/lib/libclntsh.so.11.1 (0x00007f92d4b0e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f92d48d7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f92d4510000)
libnnz11.so => /u01/app/oracle/product/11.2.0/xe/lib/libnnz11.so (0x00007f92d4148000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f92d3f44000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f92d3c39000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f92d3a20000)
libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007f92d381e000)
/lib64/ld-linux-x86-64.so.2 (0x0000561dd2f8b000)

我不是Linux专家,但我怀疑如果.so文件损坏,则ldd不会产生此输出。我从中得出结论,apr_dbd_oracle.so可以工作,但Apache无法找到它。我尝试通过复制文件和创建符号链接将文件复制到不同的位置。我也尝试过谷歌寻找文件的谷歌,但没有运气。

任何人都可以澄清Apache期望文件apr_dbd_oracle.so所在的目录吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我们之前的谈话:

根访问的共享库配置与登录用户不同。

尝试在没有sudo的情况下执行,看看它是否是配置问题。