久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP使用PDO訪問oracle數據庫的步驟詳解

POD擴展是在PHP5中加入,該擴展提供PHP內置類 PDO來對數據庫進行訪問,不同數據庫使用相同的方法名,解決數據庫連接不統一的問題。下面這篇文章主要給大家介紹了關于PHP使用PDO訪問

前言

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

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

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

開發環境

同樣先說明下我使用到的環境:

  • RedHat(CentOS)6.7
  • PHP5.6
  • Oracle11g

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

Oracle在linux環境下的安裝可以參考這里

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

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

安裝PDO_OCI

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

下載并解壓縮

$ 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)
 ;;

編譯

在當前目錄下執行

$ phpize

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

你可以通過下面的命令檢查下是否已經安裝:

$ rpm -qa | grep php

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

安裝

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

$ ./configure
$ make && make install

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

pdo_oci.c:34: error: expected ‘=', ‘,', ‘;', ‘asm' or ‘attribute' before ‘pdo_oci_functions'

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

創建ini文件

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

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

extension=pdo_oci.so

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

安裝OCI8

接下來就是安裝oci8模塊。

下載并解壓縮

依次在命令行中執行下面的命令:

$ 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

創建ini文件

同樣的,我們在/etc/php.d目錄下創建oci8.ini,內容:

extension=oci8.so

重啟Apache

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

$ service httpd restart

我們可以通過在網站目錄下創建一個test.php文件,文件中的內容是:

<?php
phpinfo();

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

總結

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發接口使用RSA進行加密解密方法,對此有興趣的朋友可以學習下。
主站蜘蛛池模板: 国产欧美日韩综合精品一 | 久久精品国产一区 | 久久免费精品 | 亚洲福利网 | 久久久资源| 国产精品视频中文字幕 | 亚洲国产精品久久久久 | 黄色成人在线网站 | 精品一区二区三区在线观看 | 黄色片av| 亚洲 欧美 在线 一区 | 午夜小视频在线观看 | 国产成人在线视频免费观看 | 美女天堂在线 | 81精品国产乱码久久久久久 | 精品国产成人 | 日韩欧美视频网站 | 精品久久一 | 国产日韩欧美另类 | 日本久久一区二区三区 | 欧美日韩综合 | 国产精品久久久久久久久久了 | www.yw193.com | 成人福利网 | 免费影视在线观看 | 国产精品视频一 | 亚洲字幕在线观看 | 美女黄18岁以下禁止观看 | 91精品中文字幕一区二区三区 | 日本一区二区三区免费观看 | 理伦毛片| 丁香婷婷在线视频 | 美女黄色在线观看 | 精品国产乱码久久久久久丨区2区 | 国产日韩欧美在线观看 | 精品一区二区三区在线播放 | 在线一区视频 | 中文字幕av第一页 | 天天干天天色 | 国产9999精品| 中文字幕爱爱视频 |