在WAMP环境中扩展oracle函数库
同事们昨天接到一个任务,用php处理oracle数据库的内容。然而,用php打开oracle扩展并不像mysql那样直接,它需要一些东西来打开。
第一步是从oracle official下载一个安装客户端包,并在win下找到相应系统版本的zip(注意这是系统版本)
截至2015年6月25日,下载地址如下:http://www . Oracle.com/TechNet/database/features/instant-client/index-097480 . html。
例如,选择微软视窗即时客户端(x64)。因为php扩展了OCI,所以您必须选择相应版本中最完整的版本,其他任何东西都没有OCI。你可能需要有一个账号在这里下载,验证后就可以下载了。用连接直接下载不容易。如果你没有,就注册吧。
其次,您需要在win系统中下载扩展包,即。dll文件。下面的废话就是告诉你怎么找。
http://www . Oracle.com/tech network/database/features/instant-client/index-097480 . html点击此地址下的。
官方即时客户端网站。拉到最后一个相关的开发人员中心' PHP-OCI8扩展'
然后选项卡下载点OCI8到http://pecl.php.net/package/oci8
那我就不说怎么下载了
在这里下载两个zip包,然后配置PHP
第三,将第一个下载的文件解压到计算机上的任意目录,然后得到文件目录instantclient_12 _1。建议去掉back' _12_1 ',以后版本更改时不需要移动环境变量。
进入这个目录,双击打开adrci.exe
获取以下命令行窗口,以证明该客户端在本地可用
要复制目录,我的是F:\dev\instantclient配置到系统的路径环境变量。
第四,解压下载的dll的压缩包,将我目前三个的php _ oci8.dll PHP _ OCI 8 _ 11g.dll PHP _ OCI 8 _ 12c.dll复制到PHP的扩展包文件,通常在的目录下./php/ext/
其实你不能代替它,但不如代替它。
然后打开php.ini打开扩展,最后一个是后来添加的。php没有它。不管怎样,把所有的dll文件都写在面包里应该没有错。运行php时,最多加载几个库
extension=PHP _ PDO _ OCI . dllextrance=PHP _ OCI 8 . dll;与Oracle 10g R2 Instant client extension=PHP _ OCI 8 _ 11g . dll一起使用;与Oracle 11gr 2 Instant client extension=PHP _ OCI 8 _ 12c . dll一起使用;配合Oracle 12c即时客户端使用,重启httpd服务,打开phpinfo();应该能看到
PDO支持enabledPDO驱动mysql、oci、odbc OCI8支持enabledOCI8 DTrace支持disabledOCI8版本2 . 0 . 8修订版$ id : f 04114d 4d 67 cffea 4c DC 2 ed 3 b7f 0229 C2 ca a 5016 $ Oracle Run-time Cli Ent库版本12.1.0.2.0 Oracle编译时即时客户端版本10.2,这意味着扩展已成功打开。
最后,连接到oracle数据库
这里有一个连接原文和连接http://www.orczhou.com/index.php/2010/09/php-oci8-oracle/的例子
?Php //配置信息$ ora _ host=' 172 . 16 . 1 . 150 ';$ ora _ port=' 1521$ ora _ sid=' cop$ ora _ username=' webdev$ ora _ password=' webdev$ charset=' UTF8### zhs16gbk ###//构建Easy Connect字符串//(如果已经存在于tnsnames.ora中,可以直接使用Connect name)$ ora _ connstr='(description=(address=(protocol=TCP)(host=')。$ ora _ host。)(端口='。$ ora _ port。))(connect _ data=(service _ name='。$ ora _ sid。//连接数据库$ conn=OCI _ Connect($ ora _ username,$ ora _ password,$ ora _ connstr);//执行Query,其中$res接收一个布尔值$ stid=OCI _ parse ($ conn,'从dq _ try _ app中选择*);$ RES=OCI _ execute($ stid);//使用oci_fetch_array遍历while循环中的结果。while($ row=OCI _ fetch _ array($ stid,OCI _ ASSOC OCI _ RETURN _ NULLS)){ foreach($ row as $ item){ echo $ item。'***';} echo“br”;}//var _ dump($ stid);至此,整个扩展加连接完成
以上就是本文的全部内容,希望大家喜欢。
版权声明:在WAMP环境中扩展oracle函数库是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。