因项目需要在linux下进行php5.3的oracle客户端编译,简要介绍一下步骤及走过的弯路。
1.下载Oracle客户端程序包,其中包含OCI、OCCI和JDBC-OCI等相关文件。
1.1下载文件地址
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
根据操作系统的版本选择对应的软件,我需要的是X86_64选择
Instant Client for Linux x86-64
1.2需要下载的文件如下:
oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm
需要强调的一点是这里需要注册一个oracle的账户才能正常下载。
2.安装Oracle客户端程序包。
将程序包上传到服务器指定目录里
chmod +x *.rpm #给RPM包赋执行权限 rpm -ivh oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm #安装RPM包 echo "/usr/lib/oracle/11.1/client64/lib/" > /etc/ld.so.conf.d/oracle_client.conf #将库路径加到默认加载中 /sbin/ldconfig #重新加载动态链接库
3.安装OCI8的php扩展(这里指定php的安装路径为/usr/local/webserver/php)
yum install libaio #yum安装libaio库,libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高 wget http://pecl.php.net/get/oci8-1.4.10.tgz #下载OCI扩展 tar zxvf oci8-1.4.10.tgz #解压 cd oci8-1.4.10 /usr/local/webserver/php/bin/phpize CFLAGS="-I/usr/lib/oracle/11.1/client64" CXXFLAGS="-I/usr/lib/oracle/11.1/client64" #使用phpize准备 PHP 外挂模块的编译环境,会根据指定的环境变量生成编译时需要的makefile,phpize是属于php-devel的内容,所以centos下只要运行yum install php-devel进行安装即可 ./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-oci8=/usr/lib/oracle/11.1/client64 make make install #编译,安装
需要强调的是make的时候会报错,显示各种找不到库文件,需要对makefile文件进行修改加入oralce的运行库地址
打开makefile,寻找INCLUDE,形式如下:
INCLUDES = -I/usr/local/php/include/php -I/usr/include/oracle/10.2.0.3/client
然后在末尾加上="-I/usr/lib/oracle/11.1/client64,然后重新make就会成功了。
4.修改PHP.ini(/usr/local/webserver/php/etc/php.ini)
在extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"后增加一行:
extension = "oci8.so"
5.重启apache让OCI生效
6.在web目录下创建phpinfo.php文件在其中输入一下内容,并通过web访问
<?php phpinfo(); ?>
如果找到OCI8的部分就说明OCI安装正常了,如下图所示
接下来就能通过php访问oracle数据库了,需要注意的是php下Oracle的连接字符串
<?php $username='***'; $passwd='***'; $protocol='TCP'; $SERVICE_NAME='***'; $ORACLE_SERVER_IP_ADDRESS='***.***.***.***'; $Port='1521′; $db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = $protocol)(HOST = $ORACLE_SERVER_IP_ADDRESS)(PORT = $Port)))(CONNECT_DATA=(SID=$SERVICE_NAME)))"; $conn = oci_connect($username,$passwd, $db); PutEnv("NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8"); if (!$conn) { $e = oci_error(); print htmlentities($e['message']); exit; }else { echo "连接oracle成功!"; return $conn; } ?>
本文向大家介绍linux下安装php的memcached客户端,包括了linux下安装php的memcached客户端的使用技巧和注意事项,需要的朋友参考一下 下面将介绍安装php的memcached客户端安装步骤 1、下载安装libmemcached客户端 官网地址:http://libmemcached.org/libMemcached.html 2、下载安装memcached 官网地址:ht
本文向大家介绍Linux(CentOS)环境下安装下载Nginx并配置,包括了Linux(CentOS)环境下安装下载Nginx并配置的使用技巧和注意事项,需要的朋友参考一下 1、准备工作 选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。 Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HT
如果你的服务器上没有安装golang程序请手动设置一个环境变量如下:键名为 ZONEINFO,值为MinDoc根目录下的/lib/time/zoneinfo.zip 绝对路径。 如果下载的压缩包中不存在该文件,请从 https://github.com/lifei6671/mindoc/blob/master/lib/time/zoneinfo.zip?raw=true 下载 不会修改Linux
php的开源wiki主要有: mediawiki:php dokuwiki:php ############################################################ 安装apache2和php: sudo apt-get install apache2 libapache2-mod-php5 参考apache的配置。 安装dokuwiki: sudo a2e
本文向大家介绍PHP下的Oracle客户端扩展(OCI8)安装教程,包括了PHP下的Oracle客户端扩展(OCI8)安装教程的使用技巧和注意事项,需要的朋友参考一下 最近的项目需要用php访问oracle数据库,不得不在linux下给php安装oci8扩展。php也可以使用pdo访问oracle数据库,但还是需要安装客户端。 首先到oracle官网的这个页面下载相关的文件,注意要连数据库服务器的
本文向大家介绍Linux下安装配置nginx详解,包括了Linux下安装配置nginx详解的使用技巧和注意事项,需要的朋友参考一下 一、Linux下安装配置nginx 第一次安装nginx,中间出现的问题一步步解决。 用到的工具secureCRT,连接并登录服务器。 1.1 rz命令,会弹出会话框,选择要上传的nginx压缩包。 1.2 解压 1.3 进入nginx文件夹,执行./configur