linux下为php开启oci8扩展

安装oracle安装包
rpm -ivh --force --nodeps oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
rpm -ivh --force --nodeps oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm
rpm -ivh --force --nodeps oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.i386.rpm
wget http://pecl.php.net/get/版本
说明:
1.安装oci8扩展不需要安装完整的oracle客户端,但是要安装三个小的安装包,加起来45m左右,安装包可以去oracle官网获得,网上帖子中常见的oracle安装包版本是11和10的。
2.获得这三个安装包后上传到服务器,cd命令切换到保存的目录,用以上命令安装即可。

安装oci8扩展
tar zxvf oci8-1.4.1.tgz
cd oci8-1.4.1
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib
make
make install
libaio是linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件,读写效率比较高。
yum install libaio
说明:
1.oci8-1.4.1.tgz这个是单独的扩展包,也可以下载完整的php安装包,如php-5.3.28.tar.gz,解压后,cd到ext目录下的oci8目录即可。
2.phpize和php-config都不一定在上面的路径中,因为安装lamp环境的方法每个人不尽相同,可以用which命令查找,如which phpize。
3.关键点是要保证phpize,php-config,以及oracle的安装路径要正确

修改php.ini
可以用find命令找到这个文件,找到类似extension =“”的配置项,加一行extension = "oci8.so"
说明:经过第二步的make,makeinstall后会生成一个oci8.so文件,可以用find命令查找一下路径,extentsion=“oci8.so”要结合extention_dir=“/usr/lib/php/modules”这个配置项来看,这两句的意思就是在/usr/lib/php/modules下找oci8.so扩展,换句话说就是如果你的oci8扩展不是生成在/usr/lib/php/modules目录下,那么你就要改动extention_dir以确保oci8.so的路径是正确的

重启apche服务器即可,创建一个info.php文件查看phpinfo();
执行后看到oci8字样就是成功了

ps:如若以上步骤成功执行还是没有出现oci8扩展,查看一下/etc/selinux/config
#SELINUX=enforcing改成SELINUX=disabled 然后临时关闭
setenforce 0 #设置SELinux 成为permissive模式

#setenforce 1 设置SELinux 成为enforcing模式

phpize是属于php-devel的内容,要安装它运行 yum install php-devel就行。

你可能感兴趣的:(linux)