热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows下PHP7如何连接Oracle12c,并使用PDO

首先,本篇文章重点分享的是:在Win平台下,如何使用PHP7连接Oracle12C,所以关于Oracle的安装和配置,请自行百度或Google.按照
首先,本篇文章重点分享的是:在Win平台下,如何使用PHP7连接Oracle 12C,所以关于Oracle的安装和配置,请自行百度或Google.

按照这个教程,基本能解决大多数的连接Oracle报错的问题!

准备工作:(64位为例,所有所需工具、文件,没有特殊说明的,都要是64位的,且版本号要严格对应,否则可能发生未知的各种错误)
1、安装并配置好Oracle 12C。
2、以PhpStudy为例,其他LAMP工具原理一样。
3、Oracle官方对应的Instant Client版本。建议下载Basic。
4、严格对应PHP版本号(如7.0.21)的三个dll文件:php_pdo_oci.dll、 php_oci8_12c.dll、php_oci8.dll

好,进入正题,下面就开始配置,使PHP成功连接Oracle。
1、打开PHP的扩展,php_pdo_oci.dll、 php_oci8_12c.dll、php_oci8.dll这三个都要打开。
然后查看phpinfo


将图上标注的路径,复制下来。
打开CMD 执行: mkdir c:\php-sdk\oracle\x64\instantclient_12_1\sdk ,建好目录。

2、将准备好的Instant Client解压,然后把根目录下的所有文件,拷贝到上面建好的sdk目录下。( 重要

3、创建环境变量
Path中,增加 C:\php-sdk\oracle\x64\instantclient_12_1\sdk
ORACLE_HOME = C:\php-sdk\oracle\x64\instantclient_12_1\sdk
TNS_ADMIN = C:\php-sdk\oracle\x64\instantclient_12_1\sdk

4、拷贝文件:
1> 将C:\php-sdk\oracle\x64\instantclient_12_1\sdk 目录下的文件,拷贝到Apache的bin目录
2> 同样,将上述文件,拷贝到 PHP的根目录下。

重启Apache服务即可。

以Yii2为例:

配置好DSN后,测试查询,一切正常:


至此,教程结束。

注:如果此时还不行,那就要将C:\php-sdk\oracle\x64\instantclient_12_1\sdk下的文件,拷贝致windows/sysWoW64下(32位的在system32下)





推荐阅读
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 在使用 Qt 进行 YUV420 图像渲染时,由于 Qt 本身不支持直接绘制 YUV 数据,因此需要借助 QOpenGLWidget 和 OpenGL 技术来实现。通过继承 QOpenGLWidget 类并重写其绘图方法,可以利用 GPU 的高效渲染能力,实现高质量的 YUV420 图像显示。此外,这种方法还能显著提高图像处理的性能和流畅性。 ... [详细]
  • 本文详细探讨了Oracle数据库中Number和Float数据类型的特性和使用方法。通过对比分析,解释了Number类型在精度和范围上的优势,以及Float类型在处理科学计算时的灵活性。文章还介绍了Number数据类型的语法结构及其在实际应用中的最佳实践,帮助读者更好地理解和选择合适的数据类型以满足不同的业务需求。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 阿里云MySQL与Oracle数据库的主从复制技术详解 ... [详细]
  • 如何在Eclipse中配置不同文件类型的默认打开方式
    在Eclipse中配置不同文件类型的默认打开方式是一项常见的需求。本文将指导您如何轻松地修改Eclipse中各种文件类型的默认打开方式。具体步骤如下:首先,启动Eclipse,然后依次点击【Window】--【Preferences】进入设置界面。接下来,您可以根据需要选择相应的文件类型,并指定其默认打开的编辑器或工具。通过这些设置,您可以显著提升开发效率和工作便捷性。 ... [详细]
  • Navicat Premium 12 连接 Oracle 数据库时出现 ORA-03113 错误:通信通道上的文件结束。进程ID:3344,会话ID:244,序列号:56707
    在使用 Navicat Premium 12 连接 Oracle 数据库时,遇到了 ORA-03113 错误,提示“通信通道上的文件结束”。具体错误信息显示进程ID为3344,会话ID为244,序列号为56707。经初步分析,该错误可能是由于数据库曾被强制关闭,导致文件状态不一致所致。通过关闭并重新建立数据库连接,问题得以顺利解决。此解决方案适用于类似情况,建议在遇到此类错误时,首先检查数据库的运行状态和日志记录,以确保数据的一致性和完整性。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 今天我开始学习Flutter,并在Android Studio 3.5.3中创建了一个新的Flutter项目。然而,在首次尝试运行时遇到了问题,Gradle任务 `assembleDebug` 执行失败,退出状态码为1。经过初步排查,发现可能是由于依赖项配置不当或Gradle版本不兼容导致的。为了解决这个问题,我计划检查项目的 `build.gradle` 文件,确保所有依赖项和插件版本都符合要求,并尝试更新Gradle版本。此外,还将验证环境变量配置是否正确,以确保开发环境的稳定性。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
author-avatar
秋凉凉_e1998
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有