Linux下PHP開啟Oracle支援(oci8)

來源:互聯網
上載者:User

標籤:==   11.2.0.3   下載檔案   軟體   rom   pos   tar.gz   load   features   

使用php的常見問題是:編譯php時忘記加入某擴充,後來想加入擴充,可是由於安裝php後又裝了一些東西如PEAR等,不想刪除檔案夾重裝,那麼此時就須要自己又一次添加某模組支援了,Linux作業系統下能夠用phpize給PHP動態加入擴充.下面就以擴充模組 oci8為例(php串連oracle資料庫須要改擴充支援)做簡單的說明.(下面全部資源能夠訪問http://download.csdn.net/detail/haiqiao_2010/8294513 進行統一下載)

1.下載Oracle用戶端程式包,當中包括OCI、OCCI和JDBC-OCI等相關檔案?1.1 依據Linux系統選擇相應的軟體,我的為32位系統,所下面載例如以下檔案:

oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm

oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm

1.2:?http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html (Oracle官網下載須要注冊使用者)

2.安裝oracle用戶端,執行下面命令就可以:

rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0.i386.rpm

rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0.i386.rpm

3.安裝oci8 php擴充

3.1 下載oci8-1.4.10.tgz?

:http://pecl.php.net/get/oci8-1.4.10.tgz

3.2 把下載檔案上傳至linuxserver,並進行解壓

命令:tar zxvf oci8-1.4.10.tgz#解壓

3.3 轉到解壓檔案夾

命令:cd oci8-1.4.10

3.4 使用phpize準備 PHP 外掛模組的編譯環境。會依據指定的環境變數產生編譯時間須要的makefile。phpize是屬於php-devel的內容。所以centos下僅僅要執行yum install php-devel進行安裝就可以 (注意:/usr/local/php/bin/phpize 為我的php檔案夾,不同則需改之;假設是64位的系統,client改成client64)

/usr/local/php/bin/phpize CFLAGS="-I/usr/lib/oracle/11.1/client" CXXFLAGS="-I/usr/lib/oracle/11.1/client"

3.5 編譯,安裝

要有與現有php全然同樣的php壓縮包。

我用的是php-5.5.3.tar.gz。展開後進入裡面的ext/oci8檔案夾下,

然後執行命令: /usr/local/php/bin/phpize #這是一個可執行檔文字檔,要確保它在系統中

會發現當前檔案夾下多了一些configure檔案。

假設沒報錯,則執行命令;

./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=/usr/lib/oracle/11.1/client

注意要先確保/usr/local/php/bin/php-config存在。假設你的php安裝路徑不是預設的,要改。

再執行下面命令 ,然後它告訴你一個檔案夾,你把該檔案夾下的oci8.so複製到你php.ini中的extension_dir指向的檔案夾中

make?
make install

須要強調的是make的時候會報錯,顯示各種找不到庫檔案,須要對makefile檔案進行改動加入oralce的執行庫地址

開啟makefile,尋找INCLUDE,形式例如以下:

INCLUDES = -I/usr/local/php/include/php -I/usr/include/oracle/10.2.0.3/client

然後在末尾加上="-I/usr/lib/oracle/11.1/client。然後又一次make就會成功了。

4. 改動PHP.ini(/usr/local/php/etc/php.ini)

在extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"後添加一行:

extension = "oci8.so"

注意:要確保/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ 該檔案夾下有oci8.so檔案

5.重新啟動apache,讓oci生效6.在web檔案夾下建立phpinfo.php檔案在當中輸入一下內容。並通過web訪問

<?phpphpinfo();?>

假設找到OCI8的部分就說明OCI安裝正常了。例如以所看到的

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpcWlhb18yMDEw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />


說明oci8成功安裝,接下來就能夠使用php訪問oracle資料庫了











Linux下PHP開啟Oracle支援(oci8)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.