linux环境下PHP+oracle

本文详细介绍了在Linux环境中,如何安装lammp,配置PHP的oci8扩展,以及安装Oracle客户端,以便实现PHP连接Oracle数据库。步骤包括安装lammp、设置时区,通过yum安装必要工具,下载oci8扩展和Oracle客户端,最后编译安装oci8扩展并配置环境变量,完成PHP连接Oracle的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装lampp

这里的php环境使用的是lammp(Download XAMPP (apachefriends.org)),我这里的是centos7的版本,有些命令和6的不一样。

这个非常简单,下载的安装包上传到服务器上,执行
./xampp-linux64-***-installer.run就可以了,注意下载自己需要的匹配自己操作系统的版本就没问题

注意修改为自己需要的时区,比如

timedatectl set-timezone Asia/Shanghai

并开启NTP

timedatectl set-ntp yes

二、安装后面可能会用到的工具(系统是最小化安装的)

如果服务器不在公网环境,记得下载一个最新的yum,做本地yum源,比如:

curl -o /etc/yum.repos.d/CentOS-Base.repo http://IP/CentOS-Base.repo

然后安装工具

yum -y install net-tools
yum -y install nfs-utils
yum -y install gcc
yum -y install gcc-c++
yum install autoconf

三、下载额外的软件

如果要在Linux上运行php+oracle,只是这个集成环境不够,还需要额外下载三个东西

1、PHP的oci8扩展,windows版的自带oci8的扩展(比如php_oci8_11g.dll),但linux环境下并没有带,需要自己下载。官方链接:PECL :: Package :: oci8 (php.net),或者自己从https://pecl.php.net/里去找。注意一定要与自己的php版本匹配,本机是php7,所以下载的是oci8-2.2.0.tgz。如果服务器连了公网,直接用截图里的命令安装就可以:pecl install oci8***。文章后面安装部分会讲解手动下载安装编译的过程。

2.两个Oracle客户端软件

一个是basic,一个是SDK

官方链接:Instant Client for Linux x86-64 (64-bit) | Oracle 中国,或者自己在官网上找https://www.oracle.com/适合自己的版本,只要大版本不比服务端低基本就可以(根据自己oracle服务端的版本来判断

select * from v$version;或select banner from sys.v_$version;)

点击这个Instant Client,根据操作系统版本再选择一次,最后进入到客户端下载页面,低版本的在下面,需要多向下翻找一下(需要登录才能下载)

四、安装

1、rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip

把sdk的内容都拷贝到客户端的lib下,比如:

\cp -r instantclient_11_2/sdk /usr/lib/oracle/11.2/client64/lib

创建软链接

cd /usr/lib/oracle/11.2/client64/lib/
ln -s libclntsh.so.11.1 libclntsh.so

解压php的oci8扩展

tar -xvf oci8-2.2.0.tgz

编译扩展

cd /opt/oci8-2.2.0

/opt/lampp/bin/phpize

./configure --with-php-config=/opt/lampp/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib


make && make install

如果是正确的,就不会报错,也可以make test 一下

配置php

vi /opt/lampp/etc/php.ini
(增加extension=oci8.so,date.timezone =PRC)

如果成功了,oci8-2.2.0/modules/oci8.so这个文件会被复制到 /opt/lampp/lib/php/extensions/no-debug-non-zts-20190902下面。

配置一下环境变量

export PATH=$PATH:/opt/lampp/bin
source /etc/profile

重启一下环境

/opt/lampp lampp restart

现在应该就可以连接oracle了

$conn = oci_connect(ORACLE_USER,ORACLE_PW,ORACLE_HOST,ORACLE_CHARSET);

if (!$conn) {
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
}

一般

define('ORACLE_HOST','IP:PORT/ORCL');

define('ORACLE_CHARSET','AL32UTF8');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值