说明:
Web服务器环境:CentOS 5.8 32位+Nginx 1.2.3+Mysql 5.5.27+php 5.3.16
Web服务器IP:192.168.21.149
php源码编译目录:/usr/local/src/php-5.3.16
php安装目录:/usr/local/php5
Nginx站点根目录:/usr/local/nginx/html
Oracle数据库服务器IP:192.168.21.130 开启1521端口,允许远程连接数据库
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
数据库版本:Oracle 11gR1_database_111070 数据库名称:orcl 数据库账号:system 数据库密码:123456
PHP连接Oracle用到OCI包,需要在Web服务器上安装oracle-instantclien,使PHP支持Oracle扩展包OCI
一、下载oracle-instantclien
备注:需要注册登录之后才能下载(如果Web服务器是64位,需要下载相应的64位包)
注意:下载的包要与Oracle数据库版本一致!
二、安装oracle-instantclien
把上一步中下载好的文件上传到Web服务器/usr/local/src/目录中,在当前目录下执行以下命令
rpm -Uvh oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm #安装
rpm -Uvh oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm #安装
cd /usr/lib/oracle #看到安装的库文件
三、重新编译php,添加OCI扩展
cd /usr/local/src/php-5.3.16 #进入php源码编译目录
cd ext/oci8 #进入ext目录下的oci8目录
/usr/local/php5/bin/phpize #用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php5/bin/php-config --with
oci8=share,instantclient,/usr/lib/oracle/11.1/client/lib #配置
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
make #编译
make install #安装
四、配置php支持OCI扩展
vi /etc/php.ini #编辑,在最后一行添加
extension="oci8.so"
:wq! #保存退出
五、测试
cd /usr/local/nginx/html #进入站点根目录
vi oracle.php #编辑,输入以下内容
<?php
$conn = OCILogon('system','123456','192.168.21.130/orcl');
if (!$conn) {
$Error = oci_error();
print htmlentities($Error['message']);
exit;
}
else
{
echo "Connected Oracle Successd!";
ocilogoff($conn);
}
?>
:wq! #保存退出
service nginx restart #重启nginx
service php-fpm restart #重启php-fpm
浏览器打开oracle.php,出现下面的界面,说明连接成功!
connected Oracle Successd!
可以在新建一个文件
vi index.php #编辑以下内容
<?php
phpinfo();
?>
:wq! #保存
在浏览器中打开,能找到oci8,说明配置成功,如下图所示
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接
至此,Linux下PHP远程连接Oracle数据库完成。