1. 程式人生 > >Linux下php5.3編譯oracle客戶端

Linux下php5.3編譯oracle客戶端

因專案需要在linux下進行php5.3的oracle客戶端編譯,簡要介紹一下步驟及走過的彎路。

1.下載Oracle客戶端程式包,其中包含OCI、OCCI和JDBC-OCI等相關檔案。

1.1下載檔案地址

根據作業系統的版本選擇對應的軟體,我需要的是X86_64選擇

1.2需要下載的檔案如下:

oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm

oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm

oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm

需要強調的一點是這裡需要註冊一個oracle的賬戶才能正常下載。

2.安裝Oracle客戶端程式包。

將程式包上傳到伺服器指定目錄裡

chmod +x *.rpm

#給RPM包賦執行許可權
rpm -ivh oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm

#安裝RPM包
echo "/usr/lib/oracle/11.1/client64/lib/" > /etc/ld.so.conf.d/oracle_client.conf

#將庫路徑加到預設載入中
/sbin/ldconfig

#重新載入動態連結庫

3.安裝OCI8的php擴充套件(這裡指定php的安裝路徑為/usr/local/webserver/php)

yum install libaio

#yum安裝libaio庫,libaio是Linux下的一個非同步非阻塞介面,它提供了以非同步非阻塞方式來讀寫檔案的方式,讀寫效率比較高

#下載OCI擴充套件

tar zxvf oci8-1.4.10.tgz

#解壓

cd oci8-1.4.10
/usr/local/webserver/php/bin/phpize CFLAGS="-I/usr/lib/oracle/11.1/client64" CXXFLAGS="-I/usr/lib/oracle/11.1/client64"

#使用phpize準備 PHP 外掛模組的編譯環境,會根據指定的環境變數生成編譯時需要的makefile,phpize是屬於php-devel的內容,所以centos下只要執行yum install php-devel進行安裝即可

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-oci8=/usr/lib/oracle/11.1/client64
make
make install

#編譯,安裝

需要強調的是make的時候會報錯,顯示各種找不到庫檔案,需要對makefile檔案進行修改加入oralce的執行庫地址

開啟makefile,尋找INCLUDE,形式如下:

INCLUDES = -I/usr/local/php/include/php -I/usr/include/oracle/10.2.0.3/client

然後在末尾加上="-I/usr/lib/oracle/11.1/client64,然後重新make就會成功了。

4.修改PHP.ini(/usr/local/webserver/php/etc/php.ini)

在extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"後增加一行:

extension = "oci8.so"

5.重啟apache讓OCI生效

6.在web目錄下建立phpinfo.php檔案在其中輸入一下內容,並通過web訪問

<?php

phpinfo();

?>

如果找到OCI8的部分就說明OCI安裝正常了,如下圖所示

image

接下來就能通過php訪問oracle資料庫了,需要注意的是php下Oracle的連線字串

<?php

$username='***';
$passwd='***';
$protocol='TCP';
$SERVICE_NAME='***';
$ORACLE_SERVER_IP_ADDRESS='***.***.***.***';
$Port='1521';

$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = $protocol)(HOST = $ORACLE_SERVER_IP_ADDRESS)(PORT = $Port)))(CONNECT_DATA=(SID=$SERVICE_NAME)))";
$conn = oci_connect($username,$passwd, $db);
PutEnv("NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8");
if (!$conn) {

    $e = oci_error();
    print htmlentities($e['message']);
    exit;
}else {
    echo "連線oracle成功!";
    return $conn;
}

?>

作者: 付海軍
出處:http://fuhj02.cnblogs.com
版權:本文版權歸作者和部落格園共有
轉載:歡迎轉載,為了儲存作者的創作熱情,請按要求【轉載】,謝謝
要求:未經作者同意,必須保留此段宣告;必須在文章中給出原文連線且保證內容完整!否則必究法律責任!
個人網站: http://www.fuhaijun.com/

相關推薦

Linuxphp5.3編譯oracle客戶

因專案需要在linux下進行php5.3的oracle客戶端編譯,簡要介紹一下步驟及走過的彎路。 1.下載Oracle客戶端程式包,其中包含OCI、OCCI和JDBC-OCI等相關檔案。 1.1下載檔案地址 根據作業系統的版本選擇對應的軟體,我需要的是X86_64選擇 1

如何在linux以RPM安裝Oracle 客戶

一、下載 從oracle 下載中心下載 把所有的下載下來 二、以root使用者安裝 三、配置 vim /etc/profile 新增export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64 export ORACLE_BAS

php 連線 oracle 環境配置(php5.3.10+oracle11客戶)

首先確認你已經安裝有oracle 11g,下面是在裝有oracle 11g的centos-6 64位配置php與oracle連線的事例。 安裝oracle即時客戶端 到這裡 下載oracle-instantclient11.2-basic,oracle-instantc

linux用C編寫ftp客戶

這是一個大作業,要求能夠模擬ftp協議,實現一個ftp客戶端,然後要求能夠實現相應的功能,主要是能夠實現ls,pwd,cwd(cd),put和get功能。然後是在被動模式下來實現這些功能。那麼首先我們需要對ftp協議有一個具體的瞭解,然後才能夠自己實現這個功能。 FTP

Redhat5 Linux 利用yum安裝SVN客戶

  Redhat5下利用yum安裝SVN客戶端 由於Redhat5自帶的SVN的版本是1.4.1的,比較老,不能讀取SVN1.5的庫,所有要更新: 直接執行:yum update su

linuxsocket實現多個客戶與伺服器的通訊

學習完《UNIX環境高階程式設計》套接字一章的內容之後,自己實現了單個客戶端與伺服器的通訊程式,後面想想要是多個客戶端如何與伺服器通訊呢?這就有了這篇文章。 伺服器端程式: #include<stdio.h> #include <stdlib.h&g

LinuxDHCP協議解析及客戶原始碼實現

Option ID Length(位元組) 描述 1 4 Subnet Mask 3 n*4 Router(閘道器) 6 n*4 DNS Server 7 n*4 Log Server 26 2 Int

linux 6款 git 圖形客戶

Git 是目前流行的分散式版本控制系統。在Debian、Ubuntu 下可以使用下面命令安裝: sudo apt-get install git 然後通過”git add *”、“git commit”、“git pull”、“git push”來管理你的專案。 不

Linux更改oracle客戶字符集和服務字符集

啟動 dia 系統 detail roc gb2 set rom com from:http://blog.csdn.net/chid/article/details/6166506 Linux 下更改 oracle 客戶端字符集和服務端字符集 1.Linux 下更改

Linux RedHat6.4 安裝ORACLE資料庫伺服器,win10安裝ORACLE客戶 問題總結

前一段時間由於工作需要安裝了ORACLE 11g資料庫在Linux上,安裝過程中遇到了很多問題,所以在這裡總結一下,希望能幫到需要的人。 問題1:安裝過程中提示 pdksh 系統軟體缺失,用rpm -qi 命令查詢確實沒有安裝該軟體,但是安裝了另一個叫 ksh 的系統軟體,二者名字很相似

linux從原始碼編譯比特幣客戶

下載原始碼 這個是master分支的,建議在tag裡選最新的穩定版,目前是v0.14.2 直接下載zip,別clone了,clone很慢。 編譯程式碼 不妨先看看官方的編譯說明 ps: 第一手的官方的資源一般都是最好的,有問題了最好

linuxoracle客戶安裝

原文地址:http://hanqunfeng.iteye.com/blog/1955277 檢視oracle伺服器端的版本:  select * from V$version  結果中有:Oracle Database 11g Enterprise Editio

oracle 客戶linux安裝配置oracle客戶

要在伺服器linux 下連線使用oracle 必須先按裝oracle客戶端。下面來記錄下如何安裝成功。 一、安裝必要的庫gcc依賴 yum install zlib-devel bzip2-devel

linux快速安裝oracle客戶

1,首先Oracle官網下載安裝包: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.ht

linux RedHat X64oracle 客戶安裝

安裝 rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm rpm -ivh oracle-instantclient-devel-11.1.0.1-1.x86_64.rpm rpm -ivh oracle-i

Linux 上安裝oracle客戶

環境變量 network al32utf8 work -- ech lin x86_64 lib 1. 下載安裝包 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html oracle-i

window修改Oracle客戶版的字符集

window oracle客戶端 字符集1、win+R,運行regedit,進入註冊表編輯器。 2、修改NLS_LANG的字符集 路徑 HKEY_LOCAL_MACHINE -> SOFTWARE -> WOW6432Node -> ORACLE -> KEY_OraCl

windows安裝oracle客戶和php擴展

64位 電腦 font exif dap pos sof mic client 先來抱怨下 ,按這玩楞費了我大半天的時間,一路的坑! 我的電腦是win7 64位的 第一步 打開php.ini 把 extension=php_oci8_12c.dll extension=

C# 不安裝Oracle客戶情況,如何連接到Oracle數據庫

是不是 如何 () 需要 -s 找到 密碼 dex add 簡介:   在我們開發應用場景經常碰到需要連接Oracle數據庫,這也是相當常見的一種情況。一般.Net環境連接Oracle數據庫,可以通過TNS/SQL.NET 配置文件,而 TNS 必須要 Oracle 客戶端

嘗試加載 Oracle 客戶庫時引發 BadImageFormatException。如果在安裝 32 位 Oracle 客戶組件的情況以 64 位模式運行,將出現此問題

orm 項目 inf article res info csdn 題解 cep 解決辦法: 原因:VS2013生成的網站,裏面有個地方調用32位的DLL文件,放到64位的服務器上提示錯誤“System.BadImageFormatException: 試圖