Linux下安裝oracle客戶端并配置php5.3
因項(xiàng)目需要在linux下進(jìn)行php5.3的oracle客戶端編譯,簡(jiǎn)要介紹一下步驟及走過(guò)的彎路。
1.下載Oracle客戶端程序包,其中包含OCI、OCCI和JDBC-OCI等相關(guān)文件。
1.1下載文件地址
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
根據(jù)操作系統(tǒng)的版本選擇對(duì)應(yīng)的軟件,我需要的是X86_64選擇
Instant Client for Linux 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
需要強(qiáng)調(diào)的一點(diǎn)是這里需要注冊(cè)一個(gè)oracle的賬戶才能正常下載。
2.安裝Oracle客戶端程序包。
將程序包上傳到服務(wù)器指定目錄里
chmod +x *.rpm
#給RPM包賦執(zhí)行權(quán)限
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
#將庫(kù)路徑加到默認(rèn)加載中
/sbin/ldconfig
#重新加載動(dòng)態(tài)鏈接庫(kù)
3.安裝OCI8的php擴(kuò)展(這里指定php的安裝路徑為/usr/local/webserver/php)
yum install libaio
#yum安裝libaio庫(kù),libaio是Linux下的一個(gè)異步非阻塞接口,它提供了以異步非阻塞方式來(lái)讀寫(xiě)文件的方式,讀寫(xiě)效率比較高
wget http://pecl.php.net/get/oci8-1.4.10.tgz
#下載OCI擴(kuò)展
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準(zhǔn)備 PHP 外掛模塊的編譯環(huán)境,會(huì)根據(jù)指定的環(huán)境變量生成編譯時(shí)需要的makefile,phpize是屬于php-devel的內(nèi)容,所以centos下只要運(yùn)行yum install php-devel進(jìn)行安裝即可
./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-oci8=/usr/lib/oracle/11.1/client64
make
make install
#編譯,安裝
需要強(qiáng)調(diào)的是make的時(shí)候會(huì)報(bào)錯(cuò),顯示各種找不到庫(kù)文件,需要對(duì)makefile文件進(jìn)行修改加入oralce的運(yùn)行庫(kù)地址
打開(kāi)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就會(huì)成功了。
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目錄下創(chuàng)建phpinfo.php文件在其中輸入一下內(nèi)容,并通過(guò)web訪問(wèn)
<?php
phpinfo();
?>
如果找到OCI8的部分就說(shuō)明OCI安裝正常了,如下圖所示

接下來(lái)就能通過(guò)php訪問(wèn)oracle數(shù)據(jù)庫(kù)了,需要注意的是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;
}
?>
- Oracle客戶端版本及位數(shù)(Windows系統(tǒng))查看方法
- PHP5.3連接Oracle客戶端及PDO_OCI模塊的安裝方法
- PHP下的Oracle客戶端擴(kuò)展(OCI8)安裝教程
- oracle查看字符集后修改oracle服務(wù)端和客戶端字符集的步驟
- Oracle 11g服務(wù)器與客戶端卸載、安裝全過(guò)程
- Oracle客戶端的安裝與遠(yuǎn)程連接配置方法分享
- oracle客戶端PLSQL連接失敗解決方法
- windows 7安裝ORACLE 10g客戶端的方法分享
- Oracle客戶端 NLS_LANG 的設(shè)置方法
- Oracle 11g Client客戶端安裝教程
相關(guān)文章
PHP中數(shù)組轉(zhuǎn)換為SimpleXML教程
在本篇文章中我們給大家總結(jié)了一篇關(guān)于PHP中數(shù)組轉(zhuǎn)換為SimpleXML教程內(nèi)容,有需要的朋友們跟著學(xué)習(xí)參考下。2019-01-01
php數(shù)組函數(shù)序列之next() - 移動(dòng)數(shù)組內(nèi)部指針到下一個(gè)元素的位置,并返回該元素值
next() 函數(shù)把指向當(dāng)前元素的指針移動(dòng)到下一個(gè)元素的位置,并返回該元素的值。如果內(nèi)部指針已經(jīng)超過(guò)數(shù)組的最后一個(gè)元素,函數(shù)返回 false2011-10-10
php中數(shù)據(jù)庫(kù)連接方式pdo和mysqli對(duì)比分析
這篇文章主要介紹了php中數(shù)據(jù)庫(kù)連接方式pdo和mysqli從各個(gè)方面進(jìn)行了對(duì)比分析,十分全面,這里推薦給大家,有需要的小伙伴來(lái)參考下。2015-02-02
PHP生成制作驗(yàn)證碼的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇PHP生成制作驗(yàn)證碼的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
PHP實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)的示例代碼
這篇文章主要為大家介紹了如何利用PHP實(shí)現(xiàn)三種不同的抽獎(jiǎng)算法:隨機(jī)抽獎(jiǎng)、概率抽獎(jiǎng)和內(nèi)定抽獎(jiǎng),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-06-06
php表設(shè)計(jì)實(shí)現(xiàn)短視頻評(píng)論區(qū)完整功能
這篇文章主要為大家介紹了php表設(shè)計(jì)實(shí)現(xiàn)短視頻評(píng)論區(qū)完整功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
深入解析PHP中逗號(hào)與點(diǎn)號(hào)的區(qū)別
大部分同學(xué)都知道逗號(hào)要比點(diǎn)號(hào)快,但就是不知道為什么,更不知道逗號(hào)與點(diǎn)號(hào)這兩者之間到底有什么區(qū)別。下面小編就來(lái)詳細(xì)的為大家介紹一下,需要的朋友可以過(guò)來(lái)參考下2013-08-08

