1. 下載rpm安裝包,並直接安裝php
wget http://www.ywjt.org/pub/oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpmweb
wget http://www.ywjt.org/pub/oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpmsql
wget http://www.ywjt.org/pub/oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpmbash
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm oracle
rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm ide
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm測試
2. 添加環境變量和庫文件fetch
在 /root/.bash_profile 加入如下內容spa
alias sqlplus='rlwrap sqlplus'.net
alias rman='rlwrap rman'
PATH=$PATH:$HOME/bin:/usr/lib/oracle/11.2/client64/bin/:/usr/local/rlwrap/bin/
export TNS_ADMIN=/etc/tnsnames.ora
ORACLE_HOME=/usr/lib/oracle/11.2/client64/
source /root/.bash_profile
在/etc/ld.so.conf 加入如下內容
/usr/lib/oracle/11.2/client64/lib/
ldconfig
3. 添加tnsnames.ora 並測試
在/etc/tnsnames.ora 加入如下內容
lyferp=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.0.169)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = lyferp)
)
)
4. 使用sqlplus 測試oracle 鏈接是否成功
sqlplus lyferp/lyferp@lyferp
5. 安裝OCI8 PHP擴展
wget http://pecl.php.net/get/oci8-1.3.5.tgz
tar zxvf oci8-1.3.5.tgz
cd oci8-1.3.5/
/usr/local/webserver/php/bin/phpize (phpize是用來擴展php擴展模塊的,經過phpize能夠創建php的外掛模塊)
CFLAGS="-I/usr/include/oracle/11.2/client64/"
CXXFLAGS="-I/usr/include/oracle/11.2/client64/"
./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib/
make && make install
6. 修改PHP 配置文件
在/usr/local/php/etc/php.ini 添加如下內容
extension=oci8.so
7. 重啓PHP,驗證安裝是否成功
新建phpinfo.php 添加如下內容
<?php
phpinfo();
?>
8. 執行insert測試
在oracle 裏新建表
create table rmantest(a varchar(100));
php 插入代碼:
<?php
$conn = oci_connect('lyferp', 'lyferp', 'lyferp');
$query = 'INSERT into rmantest VALUES(:mydata)';
$stid = oci_parse($conn, $query);
for($i=1;$i<10;$i++){
oci_bind_by_name($stid, ':mydata', $i);
$r = oci_execute($stid);
}
print "insert success\n";
oci_close($conn);
?>
9. 執行select 測試:
<?php
$conn = oci_connect('lyferp', 'lyferp', 'lyferp');
$query = 'SELECT * FROM rmantest';
$statement = oci_parse($conn, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_NUM)) {
foreach ($row as $k => $v)
// echo "$row[$k]\n";
echo "$v\n";
}
oci_close($conn);
?>