linux centos7 安装oci8和pdo_oci扩展
创新互联公司-专业网站定制、快速模板网站建设、高性价比双鸭山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式双鸭山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖双鸭山地区。费用合理售后完善,十年实体公司更值得信赖。一、基本环境
1、centos7_64+Apache/2.4.7+PHP5.3.27;
2、oracle11.2(远程)
3、设置oracle11.2允许远程访问(属于oracle设置的范畴)
4、设置防火墙允许访问
5、以下步骤以root身份执行
二、安装oci8扩展
1、到oracle官网下载:
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(注:根据操作系统和数据库版本选择不同的版本)
2、安装以上两个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
以上的安装路径为:
/usr/lib/oracle/11.2/client64/lib 和/usr/include/oracle/11.2/client64.
还可能用到以下几条命令:
rpm -qpl 可以查看rpm包会在哪些路径安装文件
rpm -qa | grep oracle //查看oracle是否安装
rpm -qa //查看所有已安装的人rpm包
rpm -e oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm //卸载已安装的rpm包
rpm -ivh --force oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm //强制安装rpm包
3、到php官网下载oci8-2.0.8.tgz(不能使用高版本,否则以下可能会报错)并解压为oci8-2.0.8文件夹
4、在oci8-2.0.8文件夹中执行
# phpize(此处为phpize命令的全路径)
# ./configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib ----with-php-config=php-config(此处为php-config命令的完整路径)
# make && make install
执行成功后,界面会输出oci8.so的完整路径
5、在php.ini文件中添加
extension=oci8.so(此处应填写oci8.so的完整路径,此路径在上条命令中输出)
6、重启apache
httpd -k restart(此处为httpd的全路径)
三、安装pdo_oci扩展
先执行上述1、2步骤;
3、执行#vi /etc/ld.so.conf
/usr/lib/oracle/11.2/client64/lib/ //加入此行,保存退出
4、执行
ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client
ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
64位系统需要创建32位的软链接(这里可能是一个遗留bug)
5、执行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"
6、执行
#source /etc/profile
7、执行
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
注:防止pdo_oci对oracle11支持不足
8、官网下载php-5.3.27.tar.gz,解压后将其中的pdo_oci文件夹复制到php的扩展目录中(如主目录/ext/pdo中)
9、在“主目录/ext/pdo”中执行:
# phpize(此处为phpize命令的全路径)
# ./configure --with-pdo-oci=instantclient,/usr,11.2 --with-php-config=php-config(此处为php-config命令的完整路径)
# make && make install
执行成功后,界面会输出pdo_oci.so的完整路径
10、在php.ini文件中添加
extension=pdo_oci.so(此处应填写pdo_oci.so的完整路径,此路径在上条命令中输出)
11、重启apache
httpd -k restart(此处为httpd的全路径)
四、测试是否安装成功
1、执行./php -i |grep oci(此处为php命令的全路径),输出如下证明成功:
oci8
......
PDO drivers => mysql, sqlite, sqlite2, oci
2、也可以使用php脚本测试
测试pdo_oci:$pdo= new PDO('oci:dbname=//oracle的ip地址:1521/数据库名;charset=utf8',用户名,密码);
测试oci8:$conn = oci_connect(用户名,密码, oracle的ip地址:1521/数据库名);
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。