centos lnmp 集成环境安装oracle扩展
2017-09-13 17:11
405 查看
前期准备工作:
下载文件:
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
php扩展文件下载:
http://pecl.php.net/package/PDO_OCI PDO_OCI-1.0.tgz Oracle的PDO接口
http://pecl.php.net/package/oci8 oci8-2.0.8.tgz
Oracle扩展
1.安装rpm包
查看安装是否成功
2. 配置
修改/etc/ld.so.conf 或在ld.so.conf.d文件夹下添加oracle-x86_64.conf文件,写入安装oracle客户端的lib路径:
ln -s /usr/include
4000
/oracle/11.2/client64 /usr/include/oracle/11.2/client
定义环境变量
加入以下几行
命令行输入以下语句使环境配置立即生效
cd oci8-2.0.8
./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib
防止pdo_oci对oracle11支持不足(pdo_oci可能不支持oracle11g,需要做个软链接成作为oracle10版本才能编译过去):
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
一切就绪,开始编译安装/usr/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1make make install
编译的时候我还遇到了其他问题
pdo_oci.c:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘pdo_oci_functions’
在pdo_oci.c文件中
下载文件:
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
php扩展文件下载:
http://pecl.php.net/package/PDO_OCI PDO_OCI-1.0.tgz Oracle的PDO接口
http://pecl.php.net/package/oci8 oci8-2.0.8.tgz
Oracle扩展
安装Oraclecient
技巧:rpm -qpl 可以查看rpm包会在哪些路径安装文件
1.安装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
查看安装是否成功
rpm -qa | grep oracle //查看oracle是否安装
2. 配置
修改/etc/ld.so.conf 或在ld.so.conf.d文件夹下添加oracle-x86_64.conf文件,写入安装oracle客户端的lib路径:
#vi /etc/ld.so.conf /usr/lib/oracle/11.2/client64/lib/ //加入此行,保存退出64位系统需要创建32位的软链接(这里可能是一个遗留bug,不然后面编译会出问题)ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client
ln -s /usr/include
4000
/oracle/11.2/client64 /usr/include/oracle/11.2/client
定义环境变量
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"
命令行输入以下语句使环境配置立即生效
source /etc/profile
安装oci8
一切就绪,编译安装tar -xvf oci8-2.0.8.tgzcd oci8-2.0.8
/usr/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib
make make install
记录该地 /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
找到php.ini 文件将 ; extension_dir = "ext" 改为 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/" 目的是指向扩展目录
然后再里面加上扩展
extension=oci8.so
重启php边可看到oci8 扩展了
安装PDO_OCI
tar -xvf PDO_OCI-1.0.tgz cd PDO_OCI-1.0
防止pdo_oci对oracle11支持不足(pdo_oci可能不支持oracle11g,需要做个软链接成作为oracle10版本才能编译过去):
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
一切就绪,开始编译安装/usr/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1make make install
编译的时候我还遇到了其他问题
pdo_oci.c:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘pdo_oci_functions’
在pdo_oci.c文件中
将 function_entry 改成 zend_function_entry
同上将
extension=pdo_oci.so
写入php.ini
重启服务扩展便可加上。。
相关文章推荐
- CentOS 7.0编译安装lnmp环境+php-beast加密扩展
- lnmp集成开发环境安装pdo_dblib扩展
- centos7.2 安装lnmp环境 (非集成)
- centos7.2 安装lnmp环境 (非集成)
- CentOS 6.5 LNMP环境 安装Memcached及配置Memcache扩展
- 【centos】LNMP集成环境 的 安装 与 配置
- centos oracle 安装 踩坑实录 (一:环境与安装)
- CentOS 6.5下LNMP环境安装(yum方式)
- 10分钟可安装一个集成lnmp环境的的linux服务器教程
- centos6.2 LNMP 环境安装(yum)
- centos6.2 lnmp环境下安装 zabbix(中文环境)并且监控客户端 推荐
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.3.Oracle 集群节点间连通失败
- centos用阿里云一键安装包安装lnmp后安装Redis及扩展
- 类centos6.5编译安装LNMP架构web环境
- centos 安装 php pdo_oci 扩展(Oracle驱动)
- 阿里云服务器 centos 6.5 安装 LNMP 环境 有修改
- CentOS6.5 编译安装lnmp环境
- 夕阳桥断 Linux(centos6.5)下安装jenkins Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。 通俗的来讲,jenkins就是一个可以实现自动化部署的一个插
- CentOS_7 LNMP环境源码安装