2013-01-09 163 views
0

我在我的linux機器上安裝了xampp。我想爲php添加oci8 oracle 11g擴展。我做什麼:用xampp安裝oci8

[[email protected] bin]# /opt/lampp/lampp oci8 
Please enter the path to your Oracle or Instant Client installation: 
[/opt/oracle] /usr/lib/oracle/11.2/client64/lib/ 

但它給我的錯誤:

Can't find libclntsh.so. Sorry. 

但我相信,libclntsh.so/usr/lib/oracle/11.2/client64/lib/。我做錯了什麼?

回答

1

後安裝oracle的instantclient,你應該設置庫路徑,讓最後一個反斜槓客場

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH 

pecl install oci8 

進一步重新安裝OCI8更多編輯php.ini(我是在/etc/php5/apache2/php.ini)加入

extension=oci8.so 

並重新啓動apache

1

我面臨同樣的問題並做了一些跟蹤。 當我看看這個文件,當我們執行「./lampp oci8」時,腳本文件;

/opt/lampp_181/share/lampp/oci8install 

我發現它不是尋找 「libclntsh.so」,但實際上 「libclntsh.so.10 *」

libclntsh=`find $ora_home -name "libclntsh.so.10*" | head -1` 

嘗試創建符號鏈接「libclntsh.so.10.1 - > libclntsh.so「和」libclntsh.so - > libclntsh.so.11.1「;

lrwxrwxrwx 1 oracle dba  69 2013-12-24 10:46 libclntsh.so -> /home/oracle/app/oracle/product/11.2.0/client_2/lib/libclntsh.so.11.1* 
lrwxrwxrwx 1 oracle dba  64 2013-12-24 10:46 libclntsh.so.10.1 -> /home/oracle/app/oracle/product/11.2.0/client_2/lib/libclntsh.so* 
-rwxr-xr-x 1 oracle dba 39997991 2013-12-24 10:46 libclntsh.so.11.1* 

從來沒有嘗試過,但我在完整的Oracle客戶端lib目錄中看到了這一點。 有一點可以肯定,當我將oci8指向這個位置時,我的XAMPP運行良好。

Oracle Run-time Client Library Version 11.2.0.1.0

我的phpinfo()輸出

1

我剛安裝了Oracle即時客戶端11.2,Ubuntu的12.04和XAMPP 1.7.x.請嘗試以下步驟

  1. 下載instantclient-basic-linux-11.2.0.4.0.zip和instantclient-sdk-linux-11.2.0.4.0.zip從Oracle

  2. 它解壓到同一文件夾,將其移動到/ opt/oracle_instantclient

  3. 追加以下設置結束的/ etc /環境的

    $ sudo的VI的/ etc /環境

    ...

    LD_LIBRARY_PATH = 「/選擇/ oracle_instantclient」

    TNS_ADMIN = 「/選擇/ oracle_instantclient」

    ORACLE_BASE = 「/選擇/ oracle_instantclient」

    ORACLE_HOME = $ ORACLE_BASE

  4. 建設(這應該完成沒有錯誤)

    $ sudo pecl install oci8

    您將在配置中提示輸入,輸入以下

    instantclient爲/ opt/oracle_instantclient

  5. 添加以下行至/opt/lampp/etc/php.ini

    延長= oci8.so

  6. 創建以下鏈接,以避免啓動apache的錯誤

    $ sudo的LN -s /opt/oracle_instantclient/libclntsh.so.11.1 /opt/oracle_instantclient/libclntsh.so

    $ sudo的LN -s /opt/oracle_instantclient/libclntsh.so.11.1的/ opt/oracle_instantclient/libclntsh。 so.10.1

  7. 重新啓動服務器LAMPP

    $須藤的/ opt/LAMPP/LAMPP重啓