centos 安装 php pdo_oci 扩展(Oracle驱动)
2011-12-31 17:48
681 查看
1、安装Oracle InstantClient
我安装的版本是11.2。需要以下两个包,可从Oracle官方下载:
oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
下载地址:http://www.oracle.com/technetwork/topics/linuxsoft-082809.html
#rpm -qpl 可以查看rpm包会在哪些路径安装文件
[root@localhost ~]# rpm -qpl oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
[root@localhost ~]# rpm -qpl oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
Oracle InstantClient的安装路径是:/usr/lib/oracle/11.2/
#安装rpm包
[root@localhost ~]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
[root@localhost ~]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
2、安装PDO_OCI
[root@localhost libs]# wget http://pear.php.net/get/oci8-1.4.5.tgz [root@localhost libs]# tar zxvf ./PDO_OCI-1.0.tgz
[root@localhost libs]# cd PDO_OCI-1.0
#注意,这里做LINK是因为pdo_cli不支持oracle 11,为了骗过他继续编译,要手工处理一下。
[root@localhost PDO_OCI-1.0]# ln -s /usr/include/oracle/11.2/ /usr/include/oracle/10.2.0.1
[root@localhost PDO_OCI-1.0]# ln -s /usr/lib/oracle/11.2/ /usr/lib/oracle/10.2.0.1
#make配置,参考:./configure --help
[root@localhost PDO_OCI-1.0]# /usr/local/php/bin/phpize
[root@localhost PDO_OCI-1.0]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
[root@localhost PDO_OCI-1.0]# make
[root@localhost PDO_OCI-1.0]# make install
#增加PHP扩展
[root@localhost PDO_OCI-1.0]# gedit /usr/local/php/etc/php.ini
ADD: extension = "pdo_oci.so"
3、重启Nginx、PHP
[root@localhost PDO_OCI-1.0]# nginx -s stop
[root@localhost PDO_OCI-1.0]# nginx
[root@localhost PDO_OCI-1.0]#php-fpm
[root@localhost PDO_OCI-1.0]# kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`
4、Issues
Issue A:
[root@localhost PDO_OCI-1.0]# /usr/local/php/sbin/php-fpm -t
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_oci.so' - /opt/oracle/10g/lib/libnnz10.so: cannot restore segment prot after reloc: Permission
denied in Unknown on line 0
[31-Dec-2011 16:38:12] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
Why:
SeLinux作祟
HowTo:
比较完美的解决方式:
[root@localhost ~]# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /opt/oracle/10g/lib/libnnz10.so
Ref:重启apache时,libphp5.so cannot restore segment prot after reloc Permission denied
不完美的解决方式:关闭SeLinux,参考以下链接:
关闭SeLinux的方法
cannot restore segment prot after reloc: Permission denied
----
参考文章:
centos安装php oci8 pdo-oci
PHP Manual:Oracle Functions (PDO_OCI)
我安装的版本是11.2。需要以下两个包,可从Oracle官方下载:
oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
下载地址:http://www.oracle.com/technetwork/topics/linuxsoft-082809.html
#rpm -qpl 可以查看rpm包会在哪些路径安装文件
[root@localhost ~]# rpm -qpl oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
[root@localhost ~]# rpm -qpl oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
Oracle InstantClient的安装路径是:/usr/lib/oracle/11.2/
#安装rpm包
[root@localhost ~]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
[root@localhost ~]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
2、安装PDO_OCI
[root@localhost libs]# wget http://pear.php.net/get/oci8-1.4.5.tgz [root@localhost libs]# tar zxvf ./PDO_OCI-1.0.tgz
[root@localhost libs]# cd PDO_OCI-1.0
#注意,这里做LINK是因为pdo_cli不支持oracle 11,为了骗过他继续编译,要手工处理一下。
[root@localhost PDO_OCI-1.0]# ln -s /usr/include/oracle/11.2/ /usr/include/oracle/10.2.0.1
[root@localhost PDO_OCI-1.0]# ln -s /usr/lib/oracle/11.2/ /usr/lib/oracle/10.2.0.1
#make配置,参考:./configure --help
[root@localhost PDO_OCI-1.0]# /usr/local/php/bin/phpize
[root@localhost PDO_OCI-1.0]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
[root@localhost PDO_OCI-1.0]# make
[root@localhost PDO_OCI-1.0]# make install
#增加PHP扩展
[root@localhost PDO_OCI-1.0]# gedit /usr/local/php/etc/php.ini
ADD: extension = "pdo_oci.so"
3、重启Nginx、PHP
[root@localhost PDO_OCI-1.0]# nginx -s stop
[root@localhost PDO_OCI-1.0]# nginx
[root@localhost PDO_OCI-1.0]#php-fpm
[root@localhost PDO_OCI-1.0]# kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`
4、Issues
Issue A:
[root@localhost PDO_OCI-1.0]# /usr/local/php/sbin/php-fpm -t
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_oci.so' - /opt/oracle/10g/lib/libnnz10.so: cannot restore segment prot after reloc: Permission
denied in Unknown on line 0
[31-Dec-2011 16:38:12] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
Why:
SeLinux作祟
HowTo:
比较完美的解决方式:
[root@localhost ~]# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /opt/oracle/10g/lib/libnnz10.so
Ref:重启apache时,libphp5.so cannot restore segment prot after reloc Permission denied
不完美的解决方式:关闭SeLinux,参考以下链接:
关闭SeLinux的方法
cannot restore segment prot after reloc: Permission denied
----
参考文章:
centos安装php oci8 pdo-oci
PHP Manual:Oracle Functions (PDO_OCI)
相关文章推荐
- php5.3安装oracle的扩展oci8与pdo_oci
- php5.3安装oracle的扩展oci8与pdo_oci
- centos php 动态安装pdo_mysql mysql mysqli等扩展
- Centos中安装PHP的PDO MySQL扩展的教程
- Linux下为PHP安装oci8及pdo_oci扩展
- linux下PHP5.5的安装【oci8,pdo-oci,memcache,Zend OPCache扩展】
- Linux下PHP支持oracle,安装oracle instant client,pdo_oci笔记
- CentOS 5.5 x86_64下安装oci8与pdo_oci扩展
- PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
- centos下安装PHP的PDO扩展!
- Ubuntu 12.04LTS 安装PHP扩展pdo_oci.so支持ORACLE数据库
- CENTOS6下PHP5.6的安装 oci8 pdo-oci
- CentOS下PHP安装Oracle扩展
- windows下PHP的oci和pdo_oci扩展安装
- centos下安装PHP的PDO扩展!
- centos下安装PHP的PDO扩展!
- linux(centos)下安装PHP的PDO扩展
- linux下PHP5.5的安装【oci8,pdo-oci,memcache,Zend OPCache扩展】(转)
- CentOS 5.5 x86_64下安装oci8与pdo_oci扩展
- centos下安装php的PDO PostgreSQL扩展