docker 部署的lnmp环境,因项目需要连接oracle数据库,故需要增加相对应的扩展
一、系统环境
Docker 、Centos7.6 、php7.3
二、准备工作
ORACLE客户端软件下载
这就是oracle客户端现在地址,点我、戳我、就行了
三、安装
- 下载后上传至系统指定位置,本文上传到
/usr/local/src
下面了。
- 执行安装
cd /usr/local/src
##解压客户端 解压后会得到 `instantclient_12_1` 文件夹
unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
##将文件夹改名
mv ./instantclient_12_1 ./instantclient
cd instantclient
## 创建连接
ln -s libnnz12.so libnnz.so
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libocci.so.12.1 libocci.so
## 安装OCI8扩展
cd ../
tar -zxvf oci8-2.2.0.tgz
cd oci8-2.2.0
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config \
--with-oci8=instantclient,/usr/local/src/instantclient \
make && make install
## 安装pdo-oci扩展
##该扩展在php源码扩展包中存在无需额外下载 直接使用即可
cd /usr/local/src
tar -jxvf php-7.3.3.tar.bz2
cd ./php-7.3.3/ext/pdo_oci
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config \
--with-pdo-oci=instantclient,/usr/local/src/instantclient \
make && make install
- 添加phpini扩展支持
extension=oci8.so
extension=pdo_oci.so
- 显示如下则说明安装成功
四、测试效果
- 编写测试代码
public function getUser(){
$data =[];
$sql="select *from inf_vd_patient_visit where sJZH='00082815'";
$conn = oci_connect('oral','xxxxx','10.87.230.205/orcl','UTF8');
$stid=oci_parse($conn,$sql);
if($stid){
$result=oci_execute($stid);
}
while (($row = oci_fetch_assoc($stid)) != false) {
$data[] = $row;
}
var_dump($data);
oci_free_statement($stid);
oci_close($conn);
}
- 预览结果
资料下载