最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php oracle 怎么样,php

运维笔记admin101浏览0评论

php oracle 怎么样,php

php oracle 怎么样,php

Oci客户端安装

oracle-instantclient18.3-basic-18.3.0.0.0-1.x86_64.rpm

oracle-instantclient18.3-devel-18.3.0.0.0-1.x86_64.rpm

oracle-instantclient18.3-sqlplus-18.3.0.0.0-1.x86_64.rpm

下载地址:

=yzr3Kc7uUHiHwGv4DvylWQ

网盘密码:r6e6

安装rpm包

yum installoracle-instantclient18.3-basic-18.3.0.0.0-1.x86_64.rpm

yum installoracle-instantclient18.3-devel-18.3.0.0.0-1.x86_64.rpm

yum installoracle-instantclient18.3-sqlplus-18.3.0.0.0-1.x86_64.rpm

连接数据库

/usr/lib/oracle/18.3/client64/bin/sqlplususr/pwd@//host:port/sid

安装oci8

wget.0.10.tgz

tar -vxf oci8-2.0.10.tgz

cd oci8-2.0.10

phpize

./configure--with-oci8=shared,instantclient,/usr/lib/oracle/18.3/client64/lib--with-php-config=/usr/local/php/bin/php-config

make

make test

make install

安装pdo_oci扩展

方法一:源码包安装

进入php 源码的ext/pdo_oci 文件夹

/usr/local/bin/phpize

./configure --with-pdo-oci=instantclient,/opt/oracle/instantclient,12.2--with-php-config=/usr/local/bin/php-config

sudo make

sudo make install

方法二:使用 PDO_OCI 扩展包安装

Thinkphp 3.2.3 full对oracle的处理不够好

所以这里记录下:

M方法在查询oracle视图的时候会自动分割表名称,导致数据库表不存在,所以无法使用。

New Model() 方法只能构建本地的数据库链接,所以此方法不可用。

最后只能使用原生的驱动处理:

PDO驱动

/*

*oracle驱动测试

*/

public function test(){

echo date("Y-m-d H:i:s",time());

$dbms = 'oci';

$host = '192.168.253.8:1521';

$dbname='orcl';

$user = 'hongxiutao';

$pass = 'hongxiutao123';

$dsn = "$dbms:dbname=//$host/$dbname;charset=UTF8";

try{

$dbh = new \PDO($dsn,$user,$pass);

echo "connect success";

foreach($dbh->query('select * from YSZZ.VW_OFFICE_HXT limit 10') as$row){

var_dump($row);

}

$dbh = null;

}catch(PDOException $e){

die("Error!:".$e->getMessage()."

");

}

$db = M('',null,'DB_CONFIG1');

$list = $db->query("select * from YSZZ.VW_OFFICE_HXT");

var_dump($list);

}

Oci8驱动

$con =oci_connect('hongxiutao','hongxiutao123','192.168.253.8:1521/orcl','utf8');

if($con){

echo "Oracle connected succees!";

}else{

echo "Oracle connected fail!\n";

$e= oci_error();

trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);

}

$stid = oci_parse($con, 'select * fromYSZZ.VW_USER_HXT');

oci_execute($stid);

while ($row = oci_fetch_array($stid,OCI_ASSOC+OCI_RETURN_NULLS)) {

var_dump($row);

foreach ($row as $item) {

//      printf($item !== null ? htmlentities($item, ENT_QUOTES) :"dddd");

}

}

发布评论

评论列表(0)

  1. 暂无评论