win8.1x64 + PHP +PDO + Oracle + IIS
来源:互联网 发布:常州新一代造价软件 编辑:程序博客网 时间:2024/04/30 14:16
win8.1x64 + PHP +PDO + Oracle + IIS
前言
勉强算是原创吧,各种网上找资料,试了几遍之后有点眉目了终于成功了。
当前环境:
Win8.1x64
PHP5.3
Instantclient12.1
IIS8
注:我的机器上并没有安装其它Oracle数据库相关客户端
序
PHP连接Oracle比连接MySQL麻烦。
PHP可以直连MySQL,但是想连Oracle,必须安装/下载Oracle提供的一套连接工具:instantclient
下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html
注意!请下载32位的,因为PHP是32位的,不认识64位的。
第一步:安装IIS+PHP
安装IIS+PHP
推荐文章:http://blog.sina.com.cn/s/blog_63426ff90101cpt3.html
哦,文章里的IIS开启的东西挺多的,有些可以不勾,比如.NET3.5、4.5
第二步:下载、配置instantclient
下载、配置instantclient
下载:http://www.oracle.com/technetwork/topics/winsoft-085727.html
配置:解压文件,然后把解压地址写入环境变量PATH
我这边:解压到:D:\ProgramFiles\Oracle\instantclient_12_1x32
环境变量中:PATH = …(原有值); D:\ProgramFiles\Oracle\instantclient_12_1x32
第三步:配置PHP的PDO、OCI
配置PDO、OCI
修改php.ini(在第一步中,这玩意儿应该就在C:\Windows\目录下)
开启OCI、PDO支持:
取消几个extention的注释就好了:
extension=php_oci8_11g.dll
; Use with Oracle 11gR2 Instant Client
extension=php_openssl.dll
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
第四步:重启IIS检验
重启IIS
使用phpinfo()函数查看当前PHP配置信息
着重检查以下几个地方:
² 环境变量
我之前就有个bug是环境变量一直未生效,重启电脑后环境变量才生效
² OCI支持
² PDO.OCI
验收成果
define("DATA_SOURCE_NAME","oci:dbname=//***.**.160.7:1521/db;charset=UTF8");
define("DB_USER_NAME","*********");
define("DB_PASS_WORD","*********");
/**
* 使用PDO进行数据库操作
* @return \PDO
* @throws Exception
*/
functiongetPDO() {
if (defined("DATA_SOURCE_NAME")) {
$dsn = DATA_SOURCE_NAME;
$userName = DB_USER_NAME;
$passWord = DB_PASS_WORD;
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SETNAMES utf8mb4',
PDO::ATTR_PERSISTENT => TRUE
);
$pdo = new PDO($dsn, $userName, $passWord,$options);
return $pdo;
} else {
throw new Exception("必须定义DATA_SOURCE_NAME才可以使用PDO.");
}
}
感想
² 我这边的PHP本身是x86的32位编译成果,所以不支持x64的扩展,这点要牢记。
² 目前看来,PHP本身很难连接Oracle,所以干脆采用Oracle提供的instantclient,而且网上的资料里一直提到oci,而instantclient里有一个oci.dll,目测PHP是调用了此DLL文件。
² PATH环境变量的作用,当你使用win+R输入notepad命令的时候,启动了notepad.exe(记事本),为什么?因为windows根据PATH常量自动搜索到了C:\Windows\notepad.exe程序,目测来看,搜索的操作大概是这样的:
$cmd = “notepad”;
$fullName = PATH . $cmd . (.exe|.dll|.lnk);
也就是说,你把桌面的QQ快捷方式QQ.lnk丢到C:\Windows\目录里,再使用win+R输入qq,就会打开QQ登录界面。
² oci.dll + PATH,那么PHP连接Oracle也许就是:
callWindowsCmd(‘oci’, dsn = DSN, username= USERNAME)……
免责声明
反正我是成功了,如果你看了这篇文章还是没配置成功……不关我的事哦……
- win8.1x64 + PHP +PDO + Oracle + IIS
- Phalcon+PHP+win8.1+iis fastcgi+配置
- WIN8.1 X64 安装IIS能打开HTM页面,ASP页面提示500的网上解决办法。
- win8.1系统安装IIS、PHP方法详解
- win8.1IIS部署
- win8.1IIS部署
- PHP 5.3.1开启ORACLE的PDO(Windows7环境)
- (1) PHP 使用 PDO 连接ORACLE、MYSQL、和SQLSERVER
- win8.1(x64)环境,Oracle 客户端连接时报ORA-01019错误总结
- Win8的IIS中架设php
- candence 16.6 win8.1 x64 破解成功
- win8.1(x64)下搭建memcached
- candence 16.6 win8.1 x64 破解
- candence 16.6 win8.1 x64 破解
- Win8.1 装不上iis解决方案
- 新解win8.1系统IIS出现“HTTP 错误 500.0,C:\php\php-cgi.exe
- 搭建php运行服务器 win8.1系统安装iis+php5.3+mysql+ZendGuardLoader说明
- Win8 x64 下载地址
- c++语法小知识2
- 分布式定时任务框架-Elastic Job
- Shell常用
- C++程序设计思维导图
- iOS开发之xib技巧介绍
- win8.1x64 + PHP +PDO + Oracle + IIS
- Android使用Ant打包所遇到问题的解决方法
- 杭电1716排列2 stl
- Java位运算
- wget获取https地址时加入--no-check-certificate
- CentOS下安装python-mysqldb
- 升级iOS9系统后,需要更新的相关配置
- Linux 文件系统
- vector 及array 应用