设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Linux下安装oracle客户端并配置php5.3

发布时间:2022-06-19 13:34 所属栏目:121 来源:互联网
导读:这篇文章主要介绍了Linux下安装oracle客户端并配置php5.3,需要的朋友可以参考下 因项目需要在linux下进行php5.3的oracle客户端编译,简要介绍一下步骤及走过的弯路。 1.下载Oracle客户端程序包,其中包含OCI、OCCI和JDBC-OCI等相关文件。 1.1下载文件地址 ht
  这篇文章主要介绍了Linux下安装oracle客户端并配置php5.3,需要的朋友可以参考下
 
  因项目需要在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; //www.phpfensi.com
  }else {
      echo "连接oracle成功!";
      return $conn;
  }
  ?> 。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读