ThinkPHP連接Oracle 12c數據庫(2):ThinkPHP配置並連接oracle數據庫

一:準備工作

首先我們需要準備一些軟件:下面是我目前使用的版本(有些可以不太一樣,但大致配置步驟都沒太大差)

          Oracle版本:Oracle 12c (64位),具體安裝版本及過程請參考我的另一篇博客:安裝oracle 12c

          WampServer 2.5(64位)(PHP集成環境):可以通過騰訊軟件管家一鍵傻瓜式下載。我在這裏強烈推薦使用該PHP集成環境(打開擴展十分方便,下面會提到),我曾經嘗試使用AppServ,但oracle擴展始終打不開或者打開失敗,仁者見仁,你有更好的方法歡迎留言。

          PHP版本:5.5.12

          Apache版本:2.4.9

          ThinkPHP:3.2.3 

          ------------------------------------------------------------------------

二:配置擴展

1.配置 php.ini 文件:可以通過以下形式快速打開,在大概中間的位置,插入如下配置行extension=php_oci8_12c.dll  ; Use with Oracle 12c Instant Client,記得把php_oci8.dllphp_pdo_oci.dll所在行的 “;”分號)刪掉,表示打開配置。

2.在 “wamp\bin\php\php5.5.12\ext” 目錄下找是否有 “php_oci8.dll” 與“php_oci8_12c.dll”文件,

          有:將此文件分別複製到 “C:\Windows\System32” 與 “C:\Windows\SysWOW64” 目錄下

          沒有:到官網下載此擴展包:http://pecl.php.net/package/oci8(老規矩,看不懂翻譯,me),如圖,找到對應的PHP版本下載對應的擴展包(如我的PHP版本爲 5.5.12 就選擇 oci8-2.0.12),下載的擴展包中有我們需要的php_oci8.dllphp_oci8_12c.dll文件

3.打開oci8擴展:如圖,打開wamp,選擇PHP->PHP擴展,將php_oci8php_oci8_12cphp_pdo_oci都打開,然後重啓服務。

完成後在網頁中訪問localhost。這也是我極力推薦wamp的原因,確實我對於配置與擴展來說是個弟弟,能簡單化當然是我的首選。

 

此時訪問phpinfo.php含有如圖所示:

 

 

三:配置ThinkPHP,連接oracle

1.在www目錄下新建個項目,將下載好的TP框架解壓後放進去,然後通過 “localhost/項目名稱” 訪問一下,TP框架會自動爲我們生成一些所需要的目錄。

2.配置config.php,在“wamp\www\demo_3\Application\Home\Conf”目錄下,將其中的配置代碼改爲:

<?php
return array(
	//'配置項'=>'配置值'
    'DB_TYPE' => 'oracle', // 數據庫類型
    'DB_HOST' => 'localhost', // 服務器地址
    'DB_NAME' => 'orcl',
    'DB_USER' => 'C##fachao', // 用戶名
    'DB_PWD' => 'fachao', // 密碼
    'DB_PORT' => '1521', // 端口
    'DB_CASE_LOWER' => true,
    'DB_PREFIX' => '', // 數據庫表前綴
    'DB_CHARSET'=> 'utf8',
    'DB_SEQUENCE_PREFIX' => 'SEQ_',
    'URL_HTML_SUFFIX'       =>  'php',
    //'DB_SEQUENCE_SUFFIX' => '_SEQ',
    //'DB_TRIGGER_PREFIX' => 'tig_'
);

說明一下:用戶名爲oracle數據庫用戶,大家可以使用默認的用戶system來登錄,(上例中“C##fachao”爲我後來自己新建的用戶)

如果是跟隨着我上一篇博客安裝的Oracle 12c,則你可以使用       用戶名:system  密碼:Oracle12c

 

四:測試並輸出oracle表中的數據

1.首先我們需要在oracle中創建個表並插入一些數據,在此我已創建好一張表名爲Students的表,並插入了一條數據(oracle對錶名大小寫並不敏感)(記得開啓oracle服務)

2.編寫控制器 “IndexController.class.php” ,代碼如下:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
    	$conn=oci_connect('C##fachao','fachao','localhost:1521/orcl');
        if (!$conn){
            $e=oci_error();
            print_r($e);
        }else{
            var_dump($conn);

            echo "ok";
        }
        $dao =  D("Students");
        var_dump($dao->select());
    }
}

3.網頁運行結果:很明顯,我們已經成功了!

 

五:總結

過程很艱辛,煩過、也想過放棄,但好在最後堅持的下來併成功連接上oracle數據庫,期末作業應該也有着落了。

如果此文章幫助到了你,麻煩給個贊支持一下吧,Q!

也可能文中有部分地方不太準確(畢竟我搗鼓來搗鼓去搗鼓了好久),如你有任何疑問或發現我不合理的地方,歡迎留言。抱拳。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章