linux重装php的oci8扩展

以前为了开启php的oci8,在linux服务器上装了oracle 12.1支持,现在想换成11.2,装上了后,php扩展开启不了oci8

安装oracle安装包
rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.i386.rpm
说明:
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

说明:
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的路径是正确的
4
重启apche服务器即可,创建一个info.php文件
<?php
echo phpinfo();
?>
执行后看到oci8字样就是成功了
温馨提示:答案为网友推荐,仅供参考
相似回答