1、在php.ini中开启 extension=php_oci8.dll extension=php_oci8_11g.dll(去掉分号即可)
2、到http://www.oracle.com/technetwork/cn/topics/winsoft-085727.html下载对应的instantclient-basic-win32程序
注意:instantclient-baseic选择32位还是64位要看运行的php是32位还是64位而定,而不是系统位数
3、下载后将你所下载的instantclient_11_2目录配置到系统环境变量中(D:\app\rtyrrty\instantclient_11_2)
4、重启apache用phpinfo便可看到oci8已开启
说明:oci_connect函数中host代表oracle的IP地址 port代表oracle端口号 sid代表你的实例名
下例中AL32UTF8是表示你数据表中的字符集编码格式
(通过“select * from V$NLS_PARAMETERS;”可查询到)
查询结果中NLS_CHARACTERSET字段便表示你的oracle字符集格式 newcc 123456789表示用户名称及密码
测试代码:
$conn = oci_connect('newcc','123456789',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.0.222)(PORT = 1521))(CONNECT_DATA =(SID=orcl)))","AL32UTF8"); if (!$conn){ echo "连接失败!"; exit(); } $sql = "SELECT BH,XM,GYDWNAME,ZYXZNAME,ZFZTNAME FROM CRIMINAL_BASE_INFO WHERE ROWNUM<6"; $ora = oci_parse($conn,$sql); //编译sql语句 if (!$ora){ echo "预编译失败!"; exit(); } //执行 if (oci_execute($ora)){ while(($row = oci_fetch_assoc($ora)) != false) //取回结果 { echo ""; echo $row["BH"]." ".$row["XM"].""; echo ""; } }else { echo "执行失败!"; } if (!(oci_free_statement($ora))) echo "释放失败!"; if (!oci_close($conn)) echo "关闭失败!";