php 远程 oracle,php怎么远程连接oracle

2b13cc09d364ffabcb6b5cbbaddf0318.png

一、以下是基于 wampServer 的php 访问oracle数据库的操作步骤:

第一步:让PHP支持OCI

首先,安装PHP的集成运行环境,网上有很多集成,我安装的是WampServer的(具体的安装方法也可以参考之前写的另一篇文章),安装好后,从安装目录中找到php.ini文件,比如我本地的路径是D:\wamp\bin\php\php5.3.3,将php.ini中的php_oci8.dll的;去掉,也就是把注释去掉,相当于可以使用php_oci8了。

030bed74c5cf03f11c6eeef336ffda42.png

相关推荐:《php教程》

第二步:然后wampserver运行后,将php>php extentions中将php_oci8打上勾

【其他的集成环境其实也是可以的,比如phpStudy,我们可以直接从php扩展的选项里打勾对应的】。

38b70c71f9c92182425f5646cedda996.png

第三步:oracle 数据库文件配置

对于安装有Oracle客户端的PC机,可以在Oracle安装配置文件,tnsnames.ora文件,此文件路径是安装oracle的路径,比如我本机的是

F:\oracle\product\10.2.0\client_1\NETWORK\ADMIN ,所连的192.168.1.198数据库,其中的配置详情如下(如果显示 127.0.0.1 默认为本机):(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.198)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

第四步:检测oci8是否配置成功

1.一般情况下,打开localhost即能显示 phpinfo.php界面,里面即为 php 信息。可采用 “Ctrl F”搜索“oci”,查看是否有对应的oci模块,当然有一点php基础的完全可以直接访问自己编写的文件,记得里面加入“echo phpinfo();”即可。

2.不要高兴太早,走到这一步,至少我是查不到的对应信息的,这时可以按照网上的一些建议,把php的ext目录下的php_oci8.dll拷到system32目录下

3.最后建议重启服务,最好是重启电脑(我在测试时发现,重启服务没用,有一次是无意中 刷新出了oci扩展,所以如果操作方法没错,我建议进行重启。)

二、代码测试远程连接 orcal 数据库(建议可用自己的oracle客户端试着是否能连接对方的服务端,以保证操作的成功率)<?php

/**

* Created by PhpStorm.

* User: Administrator

* Date: 2015/12/7

* Time: 16:25

*/

echo 'ff';

//进行连接数据库的参数配置

$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.198)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

(INSTANCE_NAME = orcl)))";

//phpinfo();

$conn = oci_connect('scott','tiger',$dbstr);//如果去掉最后一个参数或者为“ ”,默认连接本机

$stmt = oci_parse($conn, "select * from mono");

oci_execute($stmt);

$nrows = oci_fetch_all($stmt, $results);

if ($nrows > 0) {

echo "

echo "

\n";

foreach ($results as $key => $val) {

echo "

$key\n";

}

echo "

\n";

for ($i = 0; $i < $nrows; $i ) {

echo "

\n";

foreach ($results as $data) {

echo "

$data[$i]\n";

}

echo "

\n";

}

echo "

\n";

} else {

echo "No data found
\n";

}

echo " $nrows Records Selected
\n";

oci_free_statement($stmt);

oci_close($conn);

?>

(参考网友的一点说明)

两种方式和oracle数据库建立链接:1.$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.198)(PORT = 1521))

(CONNECT_DATA =(SID=orcl)))");2.$conn = oci_connect('username','password','192.168.1.198/orcl');

有的时候第一种方式不行,使用第二种,里面的几个参数分别是用户名、密码、oracle服务地址,其中orcl是服务名(但在我的机器上,后者无法访问)

另外提供一种简单的测试代码,相对而言,只是测试连接情况,更为方便:

php语句结束符

$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.102)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

(INSTANCE_NAME = orcl)))";

$dbconn=oci_connect('scott','tiger',$dbstr);

if($dbconn!=false)

{

echo "连接成功".'
';

if(OCILogOff($dbconn)==true)

{

echo "关闭连接成功!".'
';//

}

}

else

{

echo "连接失败".'
';

}

?>

总结提示:

使你的php支持oracle,按照以下步骤即可:

1.安装php环境,找一下appserv或者xampp,一键安装,很方便。

2.把php的ext目录下的php_oci8.dll拷到system32目录下。

3.修改php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号。

4.重启apache。

注意:

1.有时候你并不会注意到的一点失误会浪费很多时间,我还要提醒的是,请记得打开oracle的服务监听!!

2.请记得作为服务端的PC机,要关闭防火墙!!

3.apache的配置文件同样重要,修改httpd.conf文件,Deny——>Allow

Options FollowSymLinks

AllowOverride None

Order deny,allow

# Deny from all

Allow from all

#允许所有访问

Satisfy all

...

...

# Require local

Options Indexes FollowSymLinks

# onlineoffline tag - don't remove

Order Deny,Allow

Allow from all

# Require local

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值