debian 安装 php 拓展,Debian 安装设置 PHP 连 Oracle extension(OCI8)

Debian Linux 安装 PHP, 然后要用此 PHP 去连 Oracle, 不过缺省 Orace connect 是没有编进 PHP 里面的, 但是又不想要把 PHP 重新 make, 为了要维护方便, 所以就想办法来把他编成 Modules, 在 Pecl 找到 oci8, 一切就方便多啰~

Debian 安装 PHP Pecl oci connection

安装 OCI8 步骤(安装 PHP 连 Oracle Version 10.2.0.4 的 OCI 版本)

于 Oracle Database Instant Client 下载 Client/SDK (Version 10.2.0.4 Instant Client Package - Basic 和 SDK)

apt-get install php-pear php5-dev

mkdir -p /opt/oracle

cd /opt/oracle

unzip ~/oracle-instantclient-basic-10.2.0.4-1.i386.zip # instantclient_10_2

unzip ~/oracle-instantclient-devel-10.2.0.4-1.i386.zip # instantclient_10_2/sdk/

mv instantclient_10_2 instantclient

cd /opt/oracle/instantclient

ln -s libclntsh.so.10.1 libclntsh.so

ln -s libocci.so.10.1 libocci.so

pecl install oci8

问题: Please provide the path to ORACLE_HOME dir. Use 'instantclient,/path/to/instant/client/lib' if you're compiling against Oracle Instant Client [autodetect] :

输入: shared,instantclient,/opt/oracle/instantclient

pecl 装完后, so 档会放置于: /usr/lib/php5/20060613+lfs/oci8.so, 此文件就是 php oci8 extension 啰~

vim /etc/php5/conf.d/oci8.ini # 创建 oci8.ini 文件(让 apache 加载时读取此 extension), 内容如下:

extension=oci8.so

/etc/init.d/apache2 reload

这样子就完成 PHP OCI8 的安装啰~

测试

vim oci.php

oci_connect();

?>

php oci.php # 运行

Warning: oci_connect() expects at least 2 parameters, 0 given in oci.php on line 2 # 看到这个就代表成功了~

Fatal error: Call to undefined function oci_connect() in oci.php- on line 2 # 看到这样子就是没装好或没设好.

写个简单的 Oracle Connect 的 Insert/Select 程序测试:

$dbh = oci_connect ('ACCOUNT', 'PASSWORD', '//10.0.0.1/DBNAME') or die('OCI Connect error');

$res = oci_parse($dbh, 'INSERT INTO "USERS"(ID, NAME, PASSWORD) VALUES(1, "admin", "admin_password")') or die('Insert error');

//$res = oci_parse($dbh, 'SELECT * FROM "USERS"') or die('Select user error');

oci_execute($res);

while ($row = oci_fetch_assoc($res)) {

foreach ($row as $item) {

echo $item . "\n";

}

}

?>

其它参考

其它附注

Oracle SQL Developer 设置

设置 Role 要选 default, 若选 sysdba, SQL 语法 SELECT Table 前就需要加 db name

DB insert 需要用 "单引号" 括起来(Oracle 认定的字符串需要用 单引号 选起来), 双引号是对分辨 Table name 大小写用的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值