linux centos centos7 安装oci8和pdo_oci扩展
admin
2023-06-14 04:41:47
0

linux centos7 安装oci8和pdo_oci扩展

一、基本环境
1、centos7_64+Apache/2.4.7+PHP5.3.27;
2、oracle11.2(远程)
3、设置oracle11.2允许远程访问(属于oracle设置的范畴)
4、设置防火墙允许访问
5、以下步骤以root身份执行

二、安装oci8扩展

1、到oracle官网下载:
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm和oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm(注:根据操作系统和数据库版本选择不同的版本)

2、安装以上两个rpm包
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

以上的安装路径为:
/usr/lib/oracle/11.2/client64/lib 和/usr/include/oracle/11.2/client64.

还可能用到以下几条命令:
rpm -qpl 可以查看rpm包会在哪些路径安装文件
rpm -qa | grep oracle     //查看oracle是否安装  
rpm -qa   //查看所有已安装的人rpm包  
rpm -e oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm //卸载已安装的rpm包  
rpm -ivh --force oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm //强制安装rpm包

3、到php官网下载oci8-2.0.8.tgz(不能使用高版本,否则以下可能会报错)并解压为oci8-2.0.8文件夹

4、在oci8-2.0.8文件夹中执行

# phpize(此处为phpize命令的全路径)
# ./configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib ----with-php-config=php-config(此处为php-config命令的完整路径)

# make && make install
执行成功后,界面会输出oci8.so的完整路径

5、在php.ini文件中添加
extension=oci8.so(此处应填写oci8.so的完整路径,此路径在上条命令中输出)

6、重启apache
httpd -k restart(此处为httpd的全路径)

三、安装pdo_oci扩展

先执行上述1、2步骤;

3、执行#vi /etc/ld.so.conf  
/usr/lib/oracle/11.2/client64/lib/     //加入此行,保存退出

4、执行

ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client  
ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
64位系统需要创建32位的软链接(这里可能是一个遗留bug)

5、执行vi etc/profile
加入以下几行

export ORACLE_HOME=/usr/lib/oracle/11.2/client64/  
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:$LD_LIBRARY_PATH  
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

6、执行
#source /etc/profile

7、执行
ln -s /usr/include/oracle/11.2 /usr/include/oracle/10.2.0.1  
ln -s /usr/lib/oracle/11.2 /usr/lib/oracle/10.2.0.1
注:防止pdo_oci对oracle11支持不足

8、官网下载php-5.3.27.tar.gz,解压后将其中的pdo_oci文件夹复制到php的扩展目录中(如主目录/ext/pdo中)

9、在“主目录/ext/pdo”中执行:
# phpize(此处为phpize命令的全路径)
# ./configure --with-pdo-oci=instantclient,/usr,11.2 --with-php-config=php-config(此处为php-config命令的完整路径)

# make && make install
执行成功后,界面会输出pdo_oci.so的完整路径

10、在php.ini文件中添加
extension=pdo_oci.so(此处应填写pdo_oci.so的完整路径,此路径在上条命令中输出)

11、重启apache
httpd -k restart(此处为httpd的全路径)

四、测试是否安装成功

1、执行./php -i |grep oci(此处为php命令的全路径),输出如下证明成功:
oci8
......
PDO drivers => mysql, sqlite, sqlite2, oci  

2、也可以使用php脚本测试  
测试pdo_oci:$pdo= new PDO('oci:dbname=//oracle的ip地址:1521/数据库名;charset=utf8',用户名,密码);
测试oci8:$conn = oci_connect(用户名,密码, oracle的ip地址:1521/数据库名);

相关内容

热门资讯

中国驻朝鲜大使馆:跨境赌博举报... 跨境赌博严重危害人民群众合法权益,严重危害经济安全、社会稳定和国家形象。希望广大海外中国公民认清跨境...
最高法发布典型案例,对虐待残害... 为推动家庭保护关口前移,督促监护人履职尽责,今天,最高人民法院发布防范和惩治家庭内部侵害未成年人合法...
新闻1+1丨在轨驻留延长至一年... 神二十三发射圆满成功,航天员乘组顺利进驻“天宫”。此番出征,他们肩负着怎样的新任务?首位香港航天员黎...
漳州杨梅被“封杀”背后 5月24日晚,福建漳州龙海区的问责通报,为一场持续发酵近十天的杨梅危机,写下了一个阶段性的注脚。6个...
洛阳入选!中央财政支持实施城市... 近日,财政部办公厅、住房城乡建设部办公厅联合发布通知,开展2026年度中央财政支持实施城市更新行动。...
日本“狮子”号渔船非法进入中国... 中国海警局新闻发言人姜略表示,5月26日,日本“狮子”号渔船非法进入中国钓鱼岛领海,中国海警舰艇依法...
日专家:日菲加强军事合作旨在牵... 据凤凰卫视报道,菲律宾总统马科斯自5月26日起对日本展开正式访问,日菲两国预计就强化安保合作深入交换...
伊朗伊斯兰革命卫队称击落一架美... 伊朗伊斯兰革命卫队公共关系部门26日发表声明称,革命卫队在波斯湾的伊朗领空击落一架美军MQ-9型“死...
伊朗最高领袖称美国在中东将不再... △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)据伊朗方面5月26日消息,伊朗最高领袖穆杰塔巴·哈梅内伊当...
韩国首尔一高架桥拆除现场发生坍... 据韩联社报道,当地时间5月26日下午2时32分许,韩国首尔市内一座高架桥拆除现场发生坍塌事故,已造成...