作者:似是故人来 | 来源:互联网 | 2020-08-09 22:53
第一步,让PHP支持OCI。||第二步,运行wampserver,点击“php”,在“phpextentions”中勾选“php_oci8”。||第三步,配置oracle数据库文件。||第四步,检测oci8是否配置成功即可。
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客户端试着是否能连接对方的服务端,以保证操作的成功率)
0) {
echo "
\n";
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(&#39;username&#39;,&#39;password&#39;,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.198)(PORT = 1521))
(CONNECT_DATA =(SID=orcl)))");
2.$cOnn= oci_connect(&#39;username&#39;,&#39;password&#39;,&#39;192.168.1.198/orcl&#39;);
有的时候第一种方式不行,使用第二种,里面的几个参数分别是用户名、密码、oracle服务地址,其中orcl是服务名(但在我的机器上,后者无法访问)
另外提供一种简单的测试代码,相对而言,只是测试连接情况,更为方便:
&#39;;
if(OCILogOff($dbconn)==true)
{
echo "关闭连接成功!".&#39;
&#39;;//
}
}
else
{
echo "连接失败".&#39;
&#39;;
}
?>
总结提示:
使你的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&#39;t remove
Order Deny,Allow
Allow from all
# Require local
以上就是php怎么远程连接oracle的详细内容,更多请关注 第一PHP社区 其它相关文章!