首先确认你已经安装有oracle 11g,下面是在装有oracle 11g的centos-6 64位配置php与oracle连接的事例。
安装oracle即时客户端
到这里
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
下载oracle-instantclient11.2-basic,oracle-instantclient11.2-devel,oracle-instantclient11.2-sqlplus文件,开始安装:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
vi /etc/ld.so.conf.d/oracle-lib.conf
加入:
/usr/lib/oracle/11.2/client64/lib/
ldconfig
安装OCI8 PHP扩展
cd /tmp
wget http://pecl.php.net/get/oci8-1.4.7.tgz
tar xzf oci8-1.4.7.tgz
cd oci8-1.4.7
phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/
如果出现错误
configure: error: Cannot find php-config. Please use --with-php-config=PATH
加入php-config路径可解决
./configure --with-php=config=/usr/local/php-5.3/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib/
make && make install
在/etc/php.ini中加入:
extension = "oci8.so"
接着使用/usr/local/php-5.3/bin/php -m查看模块是否已经被加载
将tnsnames.ora 修改相关的参数并复制到
/usr/lib/oracle/11.2/client64/network/admin
没有文件夹则手动创建
修改php-fpm 加入环境变量
vim /usr/local/php-5.3/etc/php-fpm.conf
加入
env[ORACLE_HOME] = $ORACLE_HOME
检查配置文件
/usr/local/php-5.3/sbin/php-fpm -t
增加系统变量
vim /etc/profile
加入
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
刷新生效
source /etc/profile
重启PHP
pkill -9 php
必须直接杀掉,如果采用平滑重启则不生效
kill -USR2 `cat /usr/local/php-5.3/var/run/php-fpm.pid `
启动PHP
/usr/local/php-5.3/sbin/php-fpm
完成
如果需要sqlplus 支持则需要再加入环境变量
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib/
sqlplus /nolog
conn 用户名@实例名
连接