我正在運行Ubuntu 17.04。我有一個在Wildfly 10.1.0中運行的應用程序,並試圖使用Apache 2.4強制用戶在瀏覽到應用程序URL時登錄。我已經在Windows環境下工作了,希望它能像將Apache配置文件複製到Ubuntu框一樣簡單,但事實並非如此。Ubuntu上的Apache 2.4:「無法加載驅動程序文件apr_dbd_oracle.so」
我加入線之下的httpd.conf到
Include conf/extra/dbd.conf
CONF /額外/ 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尋找文件,但沒有運氣。
任何人都可以澄清Apache的文件apr_dbd_oracle.so所在的目錄嗎?提前致謝。
我解決了我自己的問題。重新啓動它,而不輸入sudo,即:/ usr/local/apache2/bin/apachectl restart -f /usr/local/apache2/conf/httpd.conf –