linux下为php开启oci8扩展

时间:2022-10-22 00:04:22
安装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命令切换到保存的目录,用以上命令安装即可。 
伦理片   http://www.dotdy.com/
安装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就行。