首先到oracle官网下载相关的文件,注意要连数据库服务器的版本,一定要对应,否则安装成功也会连不上,同时也要区分32位、64位服务器,比如我要连的数据库服务器是oracle10.2.0.4,64位主机,那么我要下载下面三个文件:
oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm
oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm
用以下命令安装
rpm -ivh oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm
再安装OCI8 PHP扩展
yum install libaio wget http://pecl.php.net/get/oci8-1.3.5.tgz tar zxvf oci8-1.3.5.tgz cd oci8-1.3.5/ /home/renjun/php/bin/phpize CFLAGS="-I/usr/include/oracle/10.2.0.4/client64/" CXXFLAGS="-I/usr/include/oracle/10.2.0.4/client64/" ./configure --with-php-config=/home/renjun/php/bin/php-config --with-oci8=/usr/lib/oracle/10.2.0.4/client64/
上面橙色的表示php的安装路径,红色的表示oracle路径,oracle路径会因为版本的不同文件夹名称有所不同,要到相应目录查看一下,确认路径正确。
然后执行make,如果报错,就执行
./configure --with-php-config=/home/renjun/php/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client64/lib/
成功后会提示你执行make test,那就执行吧,可能会出现一堆的fail,但是不要紧。继续make install。
修改php.ini文件,添加
extension = "oci8.so"
重启apache,用phpinfo()函数查看oci8是否安装成功。
第一次安装的时候装错版本,重装了很多遍显示的仍然事老版本的扩展,必须要删除oci8-1.3.5这个目录重新解压,执行上面的命令才可以。 php测试远程数据库连接是否成功的代码如下: <?php $conn = OCILogon('rpt','rpt','10.255.255.49:1521/express'); if (!$conn) { $e = oci_error(); print htmlentities($e['message']); exit; } else { echo "Successfully connected to Oracle!\n"; ocilogoff($conn); } ?>