Oracle教程:安装PHP和Oracle 10g即时客户端.doc_第1页
Oracle教程:安装PHP和Oracle 10g即时客户端.doc_第2页
Oracle教程:安装PHP和Oracle 10g即时客户端.doc_第3页
Oracle教程:安装PHP和Oracle 10g即时客户端.doc_第4页
Oracle教程:安装PHP和Oracle 10g即时客户端.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle OCP培训认证 西南唯一授权 重庆思庄 http:/www.CQ/ Oracle培训认证 咨询QQ:545148342 TEL装PHP和Oracle 10g即时客户端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 ServerPHP 界仍推荐 Apache 1.3PHP PHP 超文本处理器4.3 版或更高版本在 Windows 上启用 PHP OCI8 扩展 Instant Client 二进制文件是 PHP 的 Windows 预构建二进制文件的补充。 1. 下载 PHP 二进制压缩文件(不是安装程序版本)和 Apache。按照 PHP 手册中的 Windows 系统上的安装安装它们。OTN 的开放源代码开发人员中心包含有用背景资料的链接,如“在 Windows 2000/XP 上安装 Oracle、PHP 和 Apache”,它介绍了如何安装传统、完整的 Oracle 10g 版本(Instant Client 不需要此版本)。 继续操作之前检查 PHP 是否正常运行。此阶段未启用 Oracle 支持。 2. 从 OTN 的 Instant Client 页面下载用于 Windows 的 Instant Client Basic 程序包。此压缩文件的大小大约为 30MB。 3. 创建一个子目录(例如,c:instantclient10_1),然后从压缩文件中复制以下库: o oraociei10.dll o orannzsbb10.dll o oci.dll 这三个文件的总大小大约为 80MB。 要使用 PHP 老版本的“oracle”扩展(在 php.ini 中使用“extension=php_oracle.dll”启用),则复制 ociw32.dll 而非 oci.dll。 4. 编辑此环境,将 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。 5. 编辑 php.ini,并不要将 OCI8 扩展设为注释: 6. extension=php_oci8.dll将 extension_dir 指令设置为完整的 PHP 扩展 DLL 路径。在 PHP 4 中,DLL 位于 PHP 软件的“extensions”子目录中。在 PHP 5 中,它们位于“ext”中。 7. 重新启动 Apache。要检查是否配置了扩展,请在 web 服务器可以读取的地方创建一个简单的 PHP 脚本。 使用“http:/”URL 将此脚本加载到浏览器中。浏览器页面应包含一个显示“OCI8 Support enabled”的“oci8”部分。 在 Linux 上启用 PHP OCI8 扩展 要在 Linux 上添加 Oracle 连接,需要重新编译 PHP。 开放源代码开发人员中心包含有用背景资料的链接,如在 Linux 上安装 Oracle、PHP 和 Apache,它介绍了如何安装传统、完整的 Oracle 10g 版本(Instant Client 不需要此版本)。 1. 下载并安装 Apache。例如,在您的主目录中安装它: 2. cd apache_1.3.313. ./configure -enable-module=so -prefix=$HOME/apache -with-port=88884. make5. make install 编辑 $HOME/apache/conf/httpd.conf 并添加: AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps 6. 下载并解压缩 PHP。7. 从 OTN 上的 Instant Client 页面下载 Basic 和 SDK Instant Client 程序包。这两个 RPM 的总大小大约为 30MB。 8. 以 root 用户的身份安装 RPM。9. rpm -Uvh oracle-instantclient-basic--1.i386.rpm10. rpm -Uvh oracle-instantclient-devel--1.i386.rpm第一个 RPM 将 Oracle 库置于 /usr/lib/oracle//client/lib 中,第二个 RPM 在 /usr/include/oracle//client 中创建头 (header)。11. 备份此补丁,然后将它应用于 PHP 的 ext/oci8/config.m4。该补丁的行号是基于 PHP 4.3.9 的。如果已修复了 PHP 错误 31084(很有可能已在 PHP 4.3.11 和 5.0.4 中修复),则不需要此补丁。 如果使用的是 PHP 4.3.9 或 4.3.10,则可以将此补丁保存到一个文件中(如 php_oci8ic_buildpatch),然后使用以下命令安装它:patch -u config.m4 php_oci8ic_buildpatch 此补丁创建一个新的 PHP 配置参数:-with-oci8-instant-client=DIR.在 Linux 上,默认情况下,它使用从 RPM 中安装的最新版本的 Instant Client。可以指定 Oracle 库所在的目录来使用其他版本。无论在哪种情况下,都将自动使用正确的 SDK 头。 新参数与现有的 -with-oci8 参数互斥。 例如:在非 Linux 平台上,将 Instant Client 程序包解压缩到您所选择的目录中。-with-oci8-instant-client 参数将需要明确指定此目录;例如,-with-oci8-instant-client=/home/instantclient10_1。应将 Instant Client SDK 解压缩到与基本程序包相同的目录中,以便修改后的配置脚本可以找到头文件的子目录。 12. 在顶层 PHP 目录中重新构建“configure”脚本。 13. cd php-4.3.914. rm -rf autom4te.cache config.cache15. ./buildconf -force 16. 使用新选项运行 configure。此示例使用安装在主目录中的 Apache。 17. ./configure 18. -with-oci8-instant-client 19. -prefix=$HOME/php -with-apxs=$HOME/apache/bin/apxs 20. -enable-sigchild -with-config-file-path=$HOME/apache/conf21. 重建 PHP。22. make23. make install24. 将 PHP 配置复制到 -with-config-file-path 指定的位置25. cp php.ini-recommended $HOME/apache/conf/php.ini26. 将 LD_LIBRARY_PATH 设置为 /usr/lib/oracle//client/lib 并重新启动 Apache。 如果使用了 tnsnames.ora 文件定义 Oracle Net 服务名称,则将 TNS_ADMIN 设置为包含此文件的目录。 启动 Apache 之前应设置所有 Oracle 环境变量。以下脚本可以帮助完成此操作: #!/bin/shAPACHEHOME=/home/apacheLD_LIBRARY_PATH=/usr/lib/oracle//client/lib:$LD_LIBRARY_PATHTNS_ADMIN=/homeexport LD_LIBRARY_PATH TNS_ADMINecho Starting Apache $APACHEHOME/apachectl start要确认是否配置了扩展,请在 web 服务器可以读取的地方创建一个简单的 PHP 脚本。 使用类似“http:/localhost:8888/phpinfo.php”的 URL 将此脚本加载到浏览器中。浏览器页面应包含一个显示“OCI8 Support enabled”的“oci8”部分。 连接到 Oracle Oracle 连接信息被传递给 OCILogon() 来创建连接。与 Instant Client 关联的工具通常“远离”任何数据库服务器,因此必须将 Oracle Net 连接标识符与用户名和口令一起使用。对于已建立的 Oracle 数据库,连接信息有可能是众所周知的。对于新系统,此信息由 Oracle 安装程序在安装数据库时提供。此安装程序应配置了 Oracle Net 和创建了一个服务名称。 在新数据库中,可能需要将演示模式(如 HR 用户)解除锁定并向其提供口令。也可通过在 SQL*Plus 中以 SYSTEM 用户身份连接并执行以下语句来完成此操作:ALTER USER 用户名 IDENTIFIED BY 新口令 ACCOUNT UNLOCK;将连接信息传递给 PHP 有多种方法。第一个示例使用 Oracle 10g的 Easy Connect 语法连接到 在 mymachine 上运行的 MYDB 数据库服务中的 HR 模式。不需要 tnsnames.ora 或其他 Oracle Network 文件: $c = OCILogon(hr, hr_password, /mymachine.mydomain/MYDB);有关 Easy Connect 的语法,请参见 Oracle 的使用 Easy Connect 命名方法文档。 或者,如果 /home/tnsnames.ora 包含: MYDB =(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.mydomain)(PORT = 1521)(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = MYDB) ) )且 TNS_ADMIN 环境变量设置为 /home(在启动 Apache 之前),则连接字符串可以为: $c = OCILogon(hr, hr_password, MYDB);如果环境变量 LOCAL(在 Windows 上)或 TWO_TASK (在 Linux 上)设置为 MYDB,则可以使用以下代码生成与 MYDB 连接: $c = OCILogon(hr, hr_password);使用 Oracle 当基本连接可以使用时,试着运行一个简单的脚本 testoci.php。根据您的数据库修改该连接的详细信息并在浏览器中加载它。此示例列出了用户 HR 拥有的所有表: ?php $conn = OCILogon(hr, hr_password, /mymachine.mydomain:port/MYDB);$query = select table_name from user_tables;$stid = OCIParse($conn, $query);OCIExecute($stid, OCI_DEFAULT);while ($succ = OCIFetchInto($stid, $row) foreach ($row as $item) echo $item. ; echo n; OCILogoff($conn); ?故障诊断 Oracle PHP 故障诊断常见问题解答包含有关连接 Oracle 的有用信息。 可以从 Instant Client 页面下载 Oracle 的 SQL*Plus 命令行工具来帮助解决环境问题和连接问题。另请参见 SQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论