必须分享一下thinkphp5.1成功连接Oracle11g,花费3天爬坑成功

本文详细介绍了如何在Linux环境下安装Oracle Instant Client,配置LNMP环境,并通过PECL安装oci8扩展,最终实现PHP与Oracle数据库的连接。此外,还提供了使用ThinkPHP框架集成Oracle数据库的具体步骤,包括扩展安装、配置文件修改等关键环节。

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

过多废话不多说,直接上安装步骤
1.下载oracle-instantclient并安装
(这里选择的版本感觉要和链接的数据库版本一致,因为我先前安装12.2,PDO连11g是失败的)
https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64

rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

2.安装服务器LNMP环境(忽略)
我个人用的一键自动安装脚本,看个人习惯,

3.安装PECL(不用pecl安装oci8可以忽略此步骤,因为我用pecl安装的时候失败了,不知道什么原因)
//php版本 > 7
$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar

//php版本 < 7
$ yum install php-pear
//否则会报错PHP Parse error: syntax error, unexpected //'new' (T_NEW) in /usr/share/pear/PEAR/Frontend.php on 

4.下载oci8并编译
pecl install oci8(我安装时失败了,用的后面的编译安装)
或者
http://pecl.php.net/package/oci8
wget http://pecl.php.net/get/oci8-2.2.0.tgz
tar -zxvf oci8-2.2.0.tgz
cd oci8-2.2.0
chmod 777 *

phpize
./configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib
make && make install

5.php.ini增加extension=oci8.so 扩展

vim /usr/local/php/etc/php.ini
extension=oci8.so

6.安装PHP的pdo_oci
tar -zxvf php-7.2.19.tar.gz
cd ~/oneinstack/src/php-7.2.19/ext/pdo_oci/

phpize
./configure --with-pdo-oci=instantclient,/usr/lib/oracle/11.2/client64/lib \
--with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib
make && make install

7.配置php.ini扩展
vim /usr/local/php/etc/php.ini
extension=pdo_oci.so

8.安装thinkphp
composer create-project topthink/think tp5
chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;

9.安装TP5.1的orclae扩展
composer require topthink/think-oracle=v2.1 

10.修改数据库配置
// 数据库类型
'type' => '\think\oracle\Connection',
// 服务器地址
'hostname' => '110.110.110.110',
// 数据库名
'database' => 'orcl',
// 用户名
'username' => 'userName',
// 密码
'password' => 'userPassword',
// 端口
'hostport' => '1521',

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值