php连接访问Oracle是用过oci函数,以下是整理的文档
1.安装Apache和php包
yum install -y httpd php*
2.下载Oracle组件
oracle-instantclient-basic-10.2.0.4-1.i386.rpm
oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
oracle-instantclient-devel-10.2.0.4-1.i386.rpm
oracle-instantclient-odbc-10.2.0.4-1.i386.rpm
#rpm -ivh oracle-instantclient*(四个组件全部安装上)
此时会生成/usr/lib/oracle/10.2.0.4/client/lib/目录
3.修改/etc/ld.so.conf文件
#vim /etc/ld.so.conf
追加以下内容
/usr/lib/oracle/10.2.0.4/client/lib/
#ldconfig(执行命令)
4.下载OCI8组件
#tar zxvf oci8-1.4.1.tgz
5.编辑OCI8模块
#cd oci8-1.4.1
#phpize(执行命令)
#./configure --with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client/lib/
#make install
成功后系统会提示你:oci8.so已经成功放入/usr/lib/php/modules/目录中
6.修改php.ini文件
#vim /etc/php.ini
追加以下内容
extension=oci8.so
7.重启Apache服务
service httpd restart
8.使用phpinfo()函数查看

9.编辑php代码连接测试oracle数据库
<?php
 
$conn = oci_connect('scott', 'oracle', '192.168.12.133/orcl'); 
 
if (!$conn) { 
 
$e = oci_error(); 
 
print htmlentities($e['message']); 
 
exit; 
 

 
$query = 'select ename,sal from scott.emp'; 
 
$stid = oci_parse($conn, $query); 
if (!$stid) { 
 
$e = oci_error($conn); 
 
print htmlentities($e['message']); 
 
exit; 
 

 
$r = oci_execute($stid, OCI_DEFAULT); 
if(!$r) { 
 
$e = oci_error($stid); 
 
echo htmlentities($e['message']); 
 
exit; 
 

 
print '<table border="1">'; 
 
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) { 
 
print '<tr>'; 
 
foreach($row as $item) { 
 
print '<td>'.($item?htmlentities($item):' ').'</td>'; 
 

 
print '</tr>'; 
 

 
print '</table>'; 
 
oci_close($conn); 
 
?>
最后通过浏览器浏览页面

如果是远程连接:

附连接代码:

//连接
$dbconn =
oci_connect('username','password',"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521))(CONNECT_DATA=(SID=sid)))");
if ($dbconn) {
    echo '连接成功';
}else {
    echo '连接失败';
}

//查询
$oci_rs = oci_parse($dbconn,‘SELECT * FROM user_tables');  //预处理SQL
oci_execute($oci_rs); //执行SQL
while ($row = oci_fetch_array($oci_rs,OCI_ASSOC)) {
    print_r($row);
}//处理结果

php连接oracle数据库(linux)(转)的更多相关文章

  1. linux系统下php通过php_oci8扩展连接oracle数据库 Nginx

    相关版本信息: PHP Version 5.6.30 nginx version: nginx/1.10.3 Linux version 2.6.32-358.el6.x86_64 (mockbuil ...

  2. 连接oracle数据库

    一.连接oracle数据库 一.windows环境 oracle windows客户端下载地址:http://www.oracle.com/technetwork/topics/winx64soft- ...

  3. Excel VBA 连接各种数据库(二) VBA连接Oracle数据库

    本文主要内容: Oracle环境配置 ODBC驱动设置.第三方驱动下载 VBA连接Oracle连接方法 Oracle10g官方免账号下载地址 系统环境: Windows 7 64bit Excel 2 ...

  4. Navicat Premium_11.2.7 安装及破解,连接Oracle数据库

    下载Navicat Premium_11.2.7简体中文版, 安装 Navicat 11 for Windows 系列原版程序.Navicat | 下载 Navicat 14 天 Windows.Ma ...

  5. Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

  6. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  7. 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题

    起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...

  8. NodeJs连接Oracle数据库

    nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodej ...

  9. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

随机推荐

  1. easyui源码翻译1.32--TreeGrid(树形表格)

    前言 扩展自$.fn.datagrid.defaults.使用$.fn.treegrid.defaults重写默认值对象.下载该插件翻译源码 树形表格用于显示分层数据表格.它是基于数据表格.组合树控件 ...

  2. MySQL学习笔记之一

    MySQL装有一个名为mysql的命令行,在提示符下输入mysql将出现如下的简单提示: ➜ ~ mysql Welcome to the MySQL monitor. Commands end wi ...

  3. TortoiseSVN设置比较工具为BeyondCompare

    1.  "C:\Beyond Compare 4\BCompare.exe" %base %mine /title1=%bname /title2=%yname /leftread ...

  4. 函数 flst_get_first

    /********************************************************************//** Gets list first node addre ...

  5. [OpenJudge] 平方和

    平方和 总时间限制: 3000ms 内存限制: 65536kB 描述 给出n(1<=n<=500000)个数字,下标从1开始 执行m(1<=m<=500000)次操作,操作可分 ...

  6. bugfree如何修改Bug7种解决方案的标注方法

    Bug有7种解决方案的标注方法 By Design- 就是这么设计的,无效的Bug Duplicate - 这个问题别人已经发现了,重复的Bug External - 是个外部因素(比如浏览器.操作系 ...

  7. C#调用C++编写的DLL函数, 以及各种类型的参数传递 z

    1. 如果函数只有传入参数,比如: C/C++ Code Copy Code To Clipboard //C++中的输出函数 int__declspec(dllexport) test(consti ...

  8. oracle执行.sql文件

    ->win+R; ->CMD; ->SQLPLUS /NOLOG; ->CONNECT USER/PASSWORD@ORCL; ->@D:/XXX.SQL;

  9. aix 系统运行级别

    运行级别 在操作系统上运行维护之前,或者修改系统运行级别之前,需检查各种不同的运行级别.运行级别是一个软件配置,只允许一组选定的进程存在. 识别系统运行级别 本节描述如何识别系统正运行在什么样的运行级 ...

  10. HDU 2509

    与HDU 1907一样... #include<cstdio> #include<cstring> #include<cstdlib> #include<io ...