php怎么远程连接oracle
内容导读
收集整理的这篇技术教程文章主要介绍了php怎么远程连接oracle,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4282字,纯文字阅读大概需要7分钟。
内容图文
一、以下是基于 wampServer 的php 访问oracle数据库的操作步骤:
第一步:让PHP支持OCI
首先,安装PHP的集成运行环境,网上有很多集成,我安装的是WampServer的(具体的安装方法也可以参考之前写的另一篇文章),安装好后,从安装目录中找到php.ini文件,比如我本地的路径是D:wampbinphpphp5.3.3,将php.ini中的php_oci8.dll的;去掉,也就是把注释去掉,相当于可以使用php_oci8了。
相关推荐:《php教程》
第二步:然后wampserver运行后,将php>php extentions中将php_oci8打上勾
【其他的集成环境其实也是可以的,比如phpStudy,我们可以直接从php扩展的选项里打勾对应的】。
第三步:oracle 数据库文件配置
对于安装有Oracle客户端的PC机,可以在Oracle安装配置文件,tnsnames.ora文件,此文件路径是安装oracle的路径,比如我本机的是
F:oracleproduct10.2.0client_1NETWORKADMIN ,所连的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 "<table border="1">n"; echo "<tr>n"; foreach ($results as $key => $val) {echo "<th>$key</th>n"; }echo "</tr>n"; for ($i = 0; $i < $nrows; $i++) {echo "<tr>n"; foreach ($results as $data) {echo "<td>$data[$i]</td>n"; }echo "</tr>n"; }echo "</table>n";} else {echo "No data found<br />n";}echo " $nrows Records Selected<br />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是服务名(但在我的机器上,后者无法访问)
另外提供一种简单的测试代码,相对而言,只是测试连接情况,更为方便:
<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php语句结束符</title></head><body><?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 "连接成功".'<br/>'; if(OCILogOff($dbconn)==true) { echo "关闭连接成功!".'<br/>';// }}else{ echo "连接失败".'<br/>';}?></body></html>
总结提示:
使你的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
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow # Deny from all Allow from all #允许所有访问 Satisfy all</Directory><Directory />...... # Require local Options Indexes FollowSymLinks # onlineoffline tag - don't remove Order Deny,Allow Allow from all # Require local</Directory>
以上就是php怎么远程连接oracle的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php怎么远程连接oracle全部内容,希望文章能够帮你解决php怎么远程连接oracle所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。