成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術(shù)教程 ? PHP使用PDO訪問oracle數(shù)據(jù)庫的步驟詳解
全站頭部文字 我要出現(xiàn)在這里
PHP使用PDO訪問oracle數(shù)據(jù)庫的步驟詳解 793 2023-12-08   

前言

PDO 從一開始就吸取了現(xiàn)有數(shù)據(jù)庫擴展成功和失敗的經(jīng)驗教訓。因為 PDO 的代碼是全新的,所以我們有機會重新開始設(shè)計性能,以利用 PHP 5 的最新特性。

PDO 旨在將常見的數(shù)據(jù)庫功能作為基礎(chǔ)提供,同時提供對于 RDBMS 獨特功能的方便訪問。

雖然LAMP中PHP和Mysql是標準配對,但是公司的項目是Mysql和Oracle分別作為運行庫和詳單庫的,所以PHP連接oracle數(shù)據(jù)庫也是必須要實現(xiàn)的。本篇文章就介紹下如果通過PDO連接到oracle數(shù)據(jù)庫,下面話不多說了,來一起看看詳細的介紹吧。

開發(fā)環(huán)境

同樣先說明下我使用到的環(huán)境:

RedHat(CentOS)6.7 PHP5.6 Oracle11g

php5.6的搭建可以參照這里;

Oracle在linux環(huán)境下的安裝可以參考這里

當然,你也可以不安裝整個oracle,而只安裝instant client來實現(xiàn);如果是instant client的oracle連接步驟參見本篇博文最后的致謝部分。

在開始下面的步驟前,請務必確保以上的3個環(huán)境都正確配置可用。

安裝PDO_OCI

如果你是安裝的php5.6.31版本,似乎pdo_oci模塊已經(jīng)自帶了;但是穩(wěn)妥起見,我們重新安裝一遍。

下載并解壓縮

$ wget https://pecl.php.net/get/PDO_OCI-1.0.tgz
$ tar -xvf PDO_OCI-1.0.tgz
$ cd PDO_OCI-1.0

修改配置文件

更新目錄中的config.m4文件,使其適配Oracle11g

# 在第10行左右找到與下面類似的代碼,添加這兩行:
elif test -f $PDO_OCI_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.11.2; then
 PDO_OCI_VERSION=11.2

# 在第101行左右添加這幾行:
11.2)
 PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
 ;;

編譯

在當前目錄下執(zhí)行

$ phpize

phpize類似于gcc命令,主要是用來生成php的外掛模塊。phpize是依賴于php-deval模塊的,如果命令無法執(zhí)行,請自行利用yum安裝php-deval;

你可以通過下面的命令檢查下是否已經(jīng)安裝:

$ rpm -qa | grep php

查看是否有php56w-deval-5.6.xxx,如果沒有,請yum install php56w-deval來安裝。

安裝

phpize命令執(zhí)行之后,會在目錄下生成很多文件,其中包括configure等我們常見的linux下通過源碼安裝應用的標準文件,依次執(zhí)行下面的命令:

$ ./configure
$ make && make install

這里一般會遇到一個問題,在make的時候會提示在pdo_oci.c文件中:

pdo_oci.c:34: error: expected ‘=', ‘,', ‘;', ‘a(chǎn)sm' or ‘a(chǎn)ttribute' before ‘pdo_oci_functions'

解決辦法是修改pdo_oci.c文件的第34行,把function_entry修改成zend_function_entry,保存后重新make就可以了。

創(chuàng)建ini文件

成功之后,會提示已經(jīng)在/usr/lib64/php/modules目錄下生成了pdo_oci.so模塊,我們要做的就是告訴php,我們要引用這個模塊。

在/etc/php.d目錄下新建一個ini文件:pdo_oci.ini,內(nèi)容:

extension=pdo_oci.so

到這里,pdo_oci模塊就安裝完成了,我們可以通過php -m | grep oci來查看。

安裝OCI8

接下來就是安裝oci8模塊。

下載并解壓縮

依次在命令行中執(zhí)行下面的命令:

$ wget https://pecl.php.net/get/oci8-2.0.8.tgz
$ tar -xvf oci8-2.0.8.tgz
$ cd oci8-2.0.8

編譯和安裝

步驟和上面pdo_oci是類似的:

$ phpize
$ ./configure --with-oci8=shared
$ make && make install

創(chuàng)建ini文件

同樣的,我們在/etc/php.d目錄下創(chuàng)建oci8.ini,內(nèi)容:

extension=oci8.so

重啟Apache

別忘記重啟一下apache服務器來重新加載php的模塊:

$ service httpd restart

我們可以通過在網(wǎng)站目錄下創(chuàng)建一個test.php文件,文件中的內(nèi)容是:

<?php
phpinfo();

然后我們到頁面中去查看下打印出來的phpinfo信息,查看其中的pdo, pdo_oci和oci8模塊的相關(guān)信息。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對綠夏網(wǎng)的支持。

參考&致謝

php5.3連接oracle的客戶端及pdo_oci模塊安裝

Installing PDO_OCI and OCI8 PHP extensions on CentOS 6.4 64bit


主站蜘蛛池模板: 玉林电视台| 黑帮大佬365天| 妙探出差3| 免费观看父女情深的电视剧| stylistic device| 女人打屁股针视频| 送老师锦旗写什么最好| 巴黎最后的探戈| 郭碧婷个人简历资料| 2013年9月份日历表| 密桃成孰时| 孙权劝学课堂笔记| 禁忌爱| 一级特黄新婚之夜| 在线播放啄木乌丝袜秘书| 小学三年级英语同步跟读app| 理发师的情人电影| 男上女下动态视频| 电影喜宝| 亚洲第一区se| 四川影视文艺频道| 喜欢小红帽的原因怎么写| 电影林海雪原| jerry springer| 电影生化危机4| 日本变态浣肠免费视频| 东北一家人第一部| 《窃视者》电影免费观看美国| 《夏日情人》| 小学五年级研究报告| 黑帮大佬365天| 豆包简历个人资料| 小数除法竖式50道带答案| 王安宇电影| 成年奶妈| 啪啪电影网| 百分百感觉| 黄浩雯主演过的所有短剧| 鹌鹑图片| 女人的战争剧情介绍| 裸体小男孩|

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103