安装PHP和Oracle 10g即时客户端
2007-06-02 16:02:05 来源:WEB开发网Oracle 10g Instant Client是PHP 与远程 Oracle 数据库连接的最简单方式,它只需要安装三个库。
PHP 访问 Oracle 的当前 API 所使用的 Instant Client 库称作 OCI8.(此 C 接口的名称最早是在 Oracle8 中引入的。)PHP Oracle 8 函数 可以直接调用 Oracle 8.1.7、9.x 或 10.x,或者也可以为了方便起见,使用可选的抽象类,如 PEAR MDB2 和 ADOdb。
Instant Client 也可以使用老版本的 PHP“oracle”扩展,但它调用不赞成使用的 Oracle API。PHP 界或 Oracle 建议不要使用此扩展进行新的开发。
要在 Apache 上将 Instant Client 与 PHP 4 或 连用,请遵循以下步骤。需要一个现有的 Oracle 数据库;Instant Client 不提供 Oracle 数据库。通常情况下,此数据库将位于其他计算机上。如果数据库位于本地,则 Oracle 组件一般早已可用,从而不需要 Instant Client。
软件需求:
软件 | 附注 |
Oracle Instant Client | 下载“Instant Client Package - Basic”。 在 Linux 上,还应下载“Instant Client Package - SDK”。 |
Apache HTTPD Server | PHP 界仍推荐 Apache 1.3 |
PHP — PHP 超文本处理器 | 4.3 版或更高版本 |
在 Windows 上启用 PHP OCI8 扩展
Instant Client 二进制文件是 PHP 的 Windows 预构建二进制文件的补充。
-
下载 PHP 二进制压缩文件(不是安装程序版本)和 Apache。按照 PHP 手册中的 Windows 系统上的安装安装它们。OTN 的开放源代码开发人员中心包含有用背景资料的链接,如“在 Windows 2000/XP 上安装 Oracle、PHP 和 Apache”,它介绍了如何安装传统、完整的 Oracle 10g 版本(Instant Client 不需要此版本)。
继续操作之前检查 PHP 是否正常运行。此阶段未启用 Oracle 支持。
-
从 OTN 的 Instant Client 页面下载用于 Windows 的 Instant Client Basic 程序包。此压缩文件的大小大约为 30MB。
-
创建一个子目录(例如,c:\instantclient10_1),然后从压缩文件中复制以下库:
- oraociei10.dll
- orannzsbb10.dll
- oci.dll
这三个文件的总大小大约为 80MB。
要使用 PHP 老版本的“oracle”扩展(在 php.ini 中使用“extension=php_oracle.dll”启用),则复制 ociw32.dll 而非 oci.dll。
-
编辑此环境,将 c:\instantclient10_1 添加到 PATH 中(位于其他 Oracle 目录之前)。
例如,在 Windows 2000 上,依次单击“开始”->“设置”->“控制面板”->“系统”->“高级”->“环境变量”,编辑系统变量列表中的 PATH。
如果使用了 tnsnames.ora 文件定义 Oracle Net 服务名称,则将 tnsnames.ora 复制到 c:\instantclient10_1,并将用户环境变量 TNS_ADMIN 设置为 c:\instantclient10_1。也可以在用户环境变量 LOCAL 中定义默认的服务名称。
设置必要的 Oracle 全球化语言环境变量,如 NLS_LANG。如果没有设置,则使用默认的本地环境。有关更多详细信息,请参见 Oracle PHP 应用程序全球化概述。
无需设置不必要的 Oracle 变量,如 ORACLE_HOME 和 ORACLE_SID。
-
编辑 php.ini,并不要将 OCI8 扩展设为注释:
extension=php_oci8.dll
将 extension_dir 指令设置为完整的 PHP 扩展 DLL 路径。在 PHP 4 中,DLL 位于 PHP 软件的“extensions”子目录中。在 PHP 5 中,它们位于“ext”中。
-
重新启动 Apache。
- ››PHP后台隔5分钟发送email邮件
- ››PHP获取百度上的高质量妹子图
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››phpcms V9 所有的中文变量
- ››php执行数据库查询返回json格式数据
- ››php常用过滤非法/特殊字符串的方法
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››phpcms v9 sys_auth函数加密原理
更多精彩
赞助商链接