欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkPHP連接ORACLE數(shù)據(jù)庫的詳細(xì)教程

 更新時(shí)間:2023年12月15日 10:14:45   作者:暴走十八步  
ThinkPHP要連接Oracle數(shù)據(jù)庫,必須有兩個(gè)東西,一個(gè)PHP官方寫的擴(kuò)展,一個(gè)Oracle官方寫的客戶端,本文小編給大家詳細(xì)介紹了ThinkPHP連接ORACLE數(shù)據(jù)庫的教程,文中通過圖文結(jié)合的方式講解的非常詳細(xì),需要的朋友可以參考下

概念

  • 要連接Oracle數(shù)據(jù)庫,必須有兩個(gè)東西,一個(gè)PHP官方寫的擴(kuò)展,一個(gè)Oracle官方寫的客戶端
  • PHP是通過擴(kuò)展去操作oralce客戶端連接的服務(wù)端數(shù)據(jù)庫,所以兩個(gè)都不能少,而且版本必須一致
  • PHP官方寫的Oracle擴(kuò)展:oci8,有很多版本,還有32位和64位,每個(gè)版本官網(wǎng)有寫對(duì)于的oracle版本
  • Ocracle官方寫的客戶端:Instant Client,也分為32位和64位,需要根據(jù)PHP匹配,下面會(huì)講

基本步驟

  • 下載并配置oci8擴(kuò)展
  • 下載并配置oracle客戶端
  • 配置thinkphp

詳細(xì)操作

下載并配置oci8擴(kuò)展

oci8包含很多版本

  • 如何選擇版本:
  • 打開phpstudy環(huán)境,打開首頁phpinfo.php,查看PHP版本

在這里插入圖片描述

  • 這里7.0.12選擇32位的oci8擴(kuò)展+32位的Instant Client
  • 下載對(duì)于版本

在這里插入圖片描述

  • 7.3以上的PHP要選擇2.2.0以上版本,這里選擇7.0對(duì)于的版本,因?yàn)槭褂玫?code>phpstudy2016,使用的PHP版本是php-7.0.12-nts
  • 注意對(duì)應(yīng)版本的位數(shù),32和64不能兼容
  • 解壓后把這些全部拷貝到PHP的ext目錄下D:\phpStudy\php\php-7.0.12-nts\ext

在這里插入圖片描述

  • 打開php.ini,找到extension所在,填寫以下內(nèi)容
extension=php_pdo_oci.dll
extension=php_oci8.dll
;;extension=php_oci8_11g.dll
extension=php_oci8_12c.dll
  • 說明:
  • php_pdo_oci.dll:這個(gè)是phpstudy自帶的,使用pdo方法去連接oci8,這個(gè)必須打開
  • php_oci8.dll:這個(gè)是拷貝進(jìn)入的oci8基本擴(kuò)展,必須打開
  • php_oci8_11g.dll / php_oci8_12c.dll:這個(gè)是擴(kuò)展版本,實(shí)測(cè)任意打開一個(gè),都可以連接oracle 11g和oracle 19c,后面一個(gè)感覺速度更快
  • 重啟phpstudy
  • 出現(xiàn)oci8擴(kuò)展,說明安裝成功

在這里插入圖片描述

在這里插入圖片描述

  • 這里也有版本選擇,不管phpinfo是32還是64,這里都下載32位,實(shí)測(cè)32位可以匹配64和32的PHP(phpstudy_pro中PHP7.3.4版本測(cè)試)
  • 下載需登錄,注冊(cè)一個(gè)賬號(hào)即可
  • 這里選擇phpinfo中提示的instantclient_12_1

在這里插入圖片描述

在這里插入圖片描述

  • 解壓到任意沒有中文路徑的地方,如D:/instantclient_12_1
  • 配置環(huán)境變量,這個(gè)和JAVA類似,就是可以在任何地方執(zhí)行instantclient_12_1中功能

在這里插入圖片描述

  • 這個(gè)必須要配置,最終連接Oracle數(shù)據(jù)庫的是instant client客戶端,這個(gè)和oracle不匹配直接導(dǎo)致無法連接,實(shí)測(cè)32位可以匹配PHP64或者32(instant client版本還和oracle服務(wù)端版本有關(guān),32位不行就換一個(gè)試試)
  • 配置thinkphp
  • common->config中配置
<?php
return array(
	//連接oracle 11g r2
	'DB_TYPE' =>  'oracle',      // 數(shù)據(jù)庫類型
	'DB_HOST' =>  '127.0.0.1',   // 服務(wù)器地址
	'DB_NAME' =>  'orcl',    // 數(shù)據(jù)庫名
	'DB_USER' =>  'usr',          // 用戶名
	'DB_PWD'  =>  'pwd', // 密碼
	'DB_PORT' =>  '1521',        // 端口
	
	//連接oracle 19c CBD模式
	// 'DB_TYPE' =>  'oracle',      // 數(shù)據(jù)庫類型
	// 'DB_HOST' =>  '127.0.0.1',   // 服務(wù)器地址
	// 'DB_NAME' =>  'orcl',    // 數(shù)據(jù)庫名
	// 'DB_USER' =>  'C##usr',          // 用戶名
	// 'DB_PWD'  =>  'pwd', // 密碼
	// 'DB_PORT' =>  '1521',        // 端口
);
  • 書寫測(cè)試連接方法
<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
		$sql = " select * from tablea where rownum <10 ";
		$rs = M()->query($sql);
		var_dump($rs);
	}
}
  • 經(jīng)實(shí)測(cè),11G和19C都可以連接

問題排除

oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries

  • 解決方案:Instant Client沒有配置在環(huán)境變量中,配置一下即可

SQLSTATE[HY000]: OCIEnvNlsCreate: Check the character set is valid and that PHP has access to Oracle libraries and NLS data (ext\pdo_oci\oci_driver.c:688)

  • 解決方案:Instant Client版本不匹配,如果是64位的,換成32位的試一試

以上就是ThinkPHP連接ORACLE數(shù)據(jù)庫的詳細(xì)教程的詳細(xì)內(nèi)容,更多關(guān)于ThinkPHP連接ORACLE的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • PHP中“簡(jiǎn)單工廠模式”實(shí)例代碼講解

    PHP中“簡(jiǎn)單工廠模式”實(shí)例代碼講解

    PHP中簡(jiǎn)單工廠模式實(shí)例代碼,學(xué)習(xí)php類的朋友可以參考下
    2012-09-09
  • php.ini 配置文件的深入解析

    php.ini 配置文件的深入解析

    本篇文章是對(duì)php.ini配置文件進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP常用操作類之通信數(shù)據(jù)封裝類的實(shí)現(xiàn)

    PHP常用操作類之通信數(shù)據(jù)封裝類的實(shí)現(xiàn)

    PHP類的封裝對(duì)于初學(xué)者來說是比較難懂的,下面這篇文章主要給大家介紹了關(guān)于PHP常用操作類之通信數(shù)據(jù)封裝類實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • 淺談php提交form表單

    淺談php提交form表單

    這篇文章主要介紹了淺談php提交form表單的2種方法和簡(jiǎn)單的示例,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • 詳解PHP的抽象類和抽象方法以及接口總結(jié)

    詳解PHP的抽象類和抽象方法以及接口總結(jié)

    這篇文章主要介紹了PHP的抽象類和抽象方法以及接口總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例

    php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例

    這篇文章主要介紹了php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能,以一個(gè)完整實(shí)例形式詳細(xì)分析了實(shí)現(xiàn)點(diǎn)贊功能中涉及的html頁面、Ajax功能及php方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • PHP中PDO關(guān)閉連接的方法問題

    PHP中PDO關(guān)閉連接的方法問題

    這篇文章主要介紹了PHP中PDO關(guān)閉連接的方法問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • php 動(dòng)態(tài)執(zhí)行帶有參數(shù)的類方法

    php 動(dòng)態(tài)執(zhí)行帶有參數(shù)的類方法

    PHP中,在事先知道類和類的方法名稱,使用call_user_func函數(shù)可以做動(dòng)態(tài)執(zhí)行。
    2009-04-04
  • PHP中限制IP段訪問、禁止IP提交表單的代碼

    PHP中限制IP段訪問、禁止IP提交表單的代碼

    最近,小編發(fā)現(xiàn)有一個(gè)云南的網(wǎng)友經(jīng)常在網(wǎng)站發(fā)表一些垃圾信息的評(píng)論,由于使用的事DEDECMS構(gòu)架,系統(tǒng)本身并無禁止IP功能,每天看到這些垃圾評(píng)論,盡管不多,但是讓人感覺不爽,那么如何來限制呢?
    2011-04-04
  • 在普通HTTP上安全地傳輸密碼

    在普通HTTP上安全地傳輸密碼

    在普通HTTP上安全地傳輸密碼...
    2007-07-07

最新評(píng)論