[PHP] 在Windows環境中與Oracle Database的串接設定

更新於 發佈於 閱讀時間約 3 分鐘
此文章同步刊登於我的部落格

環境建置

一、安裝Oracle Instant Client

  1. 此網頁下載「Basic Packge」
  2. 解壓縮到資料夾
  3. 新增環境變數C:\instantclient_21_3

二、安裝PHP擴展

  1. 將「php_oci8_12c.dll」放入/php/ext/12c代表Oracle版本
  2. 將php.ini中的「;extension=oci8_12c」註解取消
  3. 重新啟動Apache或其他Web Server以重新載入php.ini的設定

PHP串接

一、 連線設定

$host = '[SERVER_HOST]';
$port = '[SERVER_PORT]';
$service_name = '[SERVICE_NAME]';
$username = '[ACCOUNT]';
$password = '[PASSWORD]';

$config = array(
'hostname' => "$host:$port/$service_name",
'username' => $user,
'password' => $password,
'database' => '',
'dbdriver' => 'oci8',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => FALSE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => $this->char_set,
'dbcollat' => $this->dbcollat,
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => $this->save_queries
);

try {
$db = @$this->load->database($config, true);
if(empty($db->conn_id)) {
// 連接失敗
// 錯誤訊息
echo $db->error()['message'];

} else {
// 連接成功
}
} catch (Exception $e) {
// 連接時出現例外
// 例外訊息
echo $e->getMessage();
}

環境

  • Windows 10
  • Wamp Server 3.2.3
  • PHP 7.4.9
  • CodeIgniter 3.1.16
  • Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Productioninstantclient_21_3
留言
avatar-img
留言分享你的想法!
avatar-img
Hankz是名工程師
8會員
11內容數
你可以在這裡看到後端工程師的技術文章 也可以看到一些投資相關的心得分享 歡迎交流~
Hankz是名工程師的其他內容
2024/03/28
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
2024/03/28
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
2024/03/26
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
2024/03/26
在寫CI的時候是否曾經遇過out of memory的錯誤呢?CodeIgniter作為輕量化的PHP框架,db物件一直是操作資料庫的好幫手,簡化了下達sql指令時的操作,加快了開發的速度,但其實看似好用的工具裡說不定有著隱藏的問題。
Thumbnail
看更多