PHP Connect Oracle Configuration

來源:互聯網
上載者:User

資料庫環境 : red flag linux dc 4.1 + oracle 9.2.0.4

PHP環境:win 2000 server sp4 + IIS 5 +php 5.2

過程 :1、 安裝完php 5.2 後,mysql 正常, 安裝phpbb ,正常。

2、由於php 5.2 拋棄了php_oracle.dll , 只剩下 php_oci8.dll,所以只能開啟php_oci8.dll 擴充,修改php.ini 後,重新啟動IIS,串連ORACLE失敗, 提示找不到oci_connect 的定義。

3、baidu,google多方尋找, 分別實驗:關鍵目錄複寫,PATH 設定, ORACLE_HOME 、ORACLE_SID設定,msvcr71.dll 複製,後來在一些高人的文章,發現問題應該出現在 oracle 的oci.dll,用了depend工具分析php_oci8.dll,發現在調用oci.dll 出錯,OCILobRead2 函數是紅色,按這個東東再尋找文章,發現有個牛人在罵oracle , 原來php5.2 的php_oci8.dll 必須要裝oralce 10g 以上的client 才可以 , 因為OCILobRead2在oracle 10g的oci.dll 才有定義, oracle 支援建議安裝oracle 10g client ,,

4、那位牛人自己動手, 修改了DLL , 咱沒這個能力,只有老實下了oracle 10g client 的basic 版本, 30多M , 解壓,發現沒有安裝檔案 ,看了文檔,建議是新開個目錄,複製這些檔案,把該目錄加到PATH中。按照文檔完成。重新啟動IIS,這下子,PHP不提示錯誤了, 但ORALCE串連還是失敗 , 提示沒有可用的TNSNAME ,我的ORACLE 9I CLIENT還是正常的 ....

5、最後, 我把10g 的相關檔案 在安全模式下覆蓋了9i 的bin目錄下的檔案, 重起WIN。

6、測試,串連成功, 又發現問題, 亂碼 ...

7、再次baidu , google , 把oci_connect 設定成對應的漢字編碼。

8、成功!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.