PHP7在windows上配置远程连接Oracle数据库的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP7在windows上配置远程连接Oracle数据库的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2856字,纯文字阅读大概需要5分钟。
内容图文
![PHP7在windows上配置远程连接Oracle数据库的方法](/upload/InfoBanner/zyjiaocheng/477/4b22c9b3392a438587b7e31db086eb27.jpg)
test_db是自己起的连接名字,IP替换为远程oracle的IP,service_name放数据库名字。
将客户端的目录加入到path路径下,方便连接PLSQL Developer。
增加系统变量ORACLE_HOME,保存客户端目录。
增加系统变量NLS_lANG,保存为SIMPLIFIED CHINESE_CHINA.ZHS16GBK,为解决读取编码问题。
安装PLSQL Developer后连接看看是否可以连接上即可。
3.开启php的oci扩展或者pdo_oci扩展,连接测试。
php7因为没有带php_oci_11g的扩展,需要自己安装获取去下载对应版本的dll文件,放到php的ext目录下,在php.ini中开启扩展。
在开启后可能会出现windows缺失oci.dll文件。
这时候将上面客户端里面的oci.dll文件拷贝到php的目录下即可。
启动php,查看PHPinfo里面应该会出现如下扩展:
尝试连接数据库
try{ // $conn = new PDO("oci:dbname=//IP:1521/dbname",‘username‘,‘password‘);// PDO方式 $conn = oci_connect(‘username‘,‘password‘,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=IP)(PORT = 1521))(CONNECT_DATA =(SID=dbname)))"); var_dump($conn); echo "连接成功"; }catch(PDOException $e){ echo ("Error:".$e->getMessage()); }
- PDO方式会抛出如下的异常(SQLSTATE[]: pdo_oci_handle_factory: <<Unknown>> (ext\pdo_oci\oci_driver.c:642)2017-03-08+1)
- 普通连接会报错(Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries)
在windows上遇上这些问题不要慌,这时候既然确定自己已经安装好了扩展,那么肯定不是php的bug问题什么的(我看到有些去php官方提bug的)。
有些人说把dll文件全部拷贝到system32下或者全部拷贝到php下等等说法。首先,不建议拷贝任何东西到c盘的目录下,本来就乱七八糟的,还因为自己一个小功能去里面放文件肯定是不合理的。哪里用到就放那里就好。
就像上面的缺失oci.dll文件,因为是php在用,所以php会先在自己的目录下去搜索该文件,放到php目录下就好(当然放到system32下可能也是可以的)
由于当时配置了好久,有点儿心烦,干脆我就直接把整个Client的文件拷贝到了php目录下,测试不再出现上面的错误,那么证明就是因为缺少了上面的某个文件导致的。我这里是nginx+phpcgi的形式。这时候如果把刚才拷贝到php目录下的文件删除的话,有些被用到肯定就不能删,经过测试,只有下面这个文件和刚才的oci.dll文件不能删除。
这个文件还有个特点就是很大,里面封装了很多函数扩展什么的。
现在就大功告成了,在此测试一下上面的PHP代码:
- PDO形式打印连接类型(
object(PDO)#1 (0) {
)
} - 普通连接返回连接类型(resource(5) of type (oci8 connection))
总结:
不要轻信那些回答动辄拷贝到system32下,全部文件放到哪里哪里的,这样会导致系统目录混乱,到时候自己都找不到,即使解决了问题思路也不清晰,可能自己莫名其妙的解决了(其实没啥用)
PHP7在windows上配置远程连接Oracle数据库的方法
标签:项目需求 ddr phpstudy failed 建议 service 编码问题 director image
本文系统来源:http://www.cnblogs.com/wyzs/p/6516425.html
内容总结
以上是互联网集市为您收集整理的PHP7在windows上配置远程连接Oracle数据库的方法全部内容,希望文章能够帮你解决PHP7在windows上配置远程连接Oracle数据库的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。