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

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

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

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

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

/*** 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
"\"
1
\"
>
\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('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语句结束符
总结提示:
使你的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

4.上文中一直提示的SID 或者说oracle服务器名称什么的真的好难懂,我是直接用了配置文件中所显示的名称“orcl”,这个在你安装软件时,会有一个服务名称的提醒,自己默认的orcl而已,估计些其他的名称也是可以的。网上介绍的很乱