如何在 win7 x64 上使用带有 php (xampp) 的 oracle 客户端 11.2

2024-02-11

我刚刚在我的 win7 (x64) PC 上安装了一个实际的 XAMPP 来编写一些 PHP 脚本来连接到 Oracle DB。我还安装了正常的oracle 11.2.0客户端(PATH和ORACLE_HOME设置正确)。该客户端用于我的所有其他工作,没有任何问题。

当我尝试连接到 Oracle DB PHP 失败时Fatal error: Call to undefined function oci_connect() in。我记得几年前我在 x32 winXP PC 上做了同样的事情时,我必须在 php.ini 中启用“oci8-extensions”。 但是我当前的xampp中没有这些dllphp/ext文件夹(只有一个php_oci8_12c.dll它在 apache 启动时引发了几个未知函数的错误,并且适用于 oracle 12 而不是 11)并且 php.ini 还表示它们仅适用于即时客户端。

;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

还有这个SO问题 https://stackoverflow.com/questions/21584879/xampp-how-to-connect-to-oracle显示在普通客户端上使用评论扩展将不起作用(我也尝试过)。

我试图用谷歌搜索解决方案,但所有“解决方案”都是“安装 win32 即时客户端并启用扩展”。但我不能这样做,因为我的大部分 QA 工作都需要安装和配置 11.2.0-client,而且我的 php/ext-folder 中没有 .dll

我还尝试将 ociw32.dll 从 client/bin 文件夹复制到 php/ext-folder 但随后 apache 说它不是 PHP 库。

那么如何让 PHP oracle 库在 x64 win7 上使用 oci8 for XAMPPWITHOUT安装 win32 Oracle Instant Client 并破坏我当前的设置?

编辑:我也尝试了所描述的步骤在 PHP:安装手册中(帖子作者:samantha dot vincent at gmail dot com) http://php.net/manual/en/oci8.installation.php包括更改我的 apache-http.conf 这也没有帮助。

我也很困惑我的phpinfo()- 输出如其所说

Configure Command   "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared"

我终于找到了解决方案:

我从以下位置下载了实际的 OCI-DLL“PECL :: PAckage :: oci8 :: 2.0.8” http://pecl.php.net/package/oci8/2.0.8/windows(在我的例子中是32位、线程安全的DLL)然后删除;从这条线

;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

我还在 apache 的 http.conf 中添加了以下几行

SetEnv ORACLE_BASE "C:/oracle/"
SetEnv ORACLE_HOME "C:/oracle/product/11.2.0/client_1"  

之后我重新启动了apache,确保我的连接别名可能放在我的tsnames.ora然后我就可以毫无问题地使用 oci8-functions 了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 win7 x64 上使用带有 php (xampp) 的 oracle 客户端 11.2 的相关文章

  • PHP - 如何将图像资源写入文件

    我用了函数imagecopyresampled到裁剪图像 我尝试使用file put contents和 fwrite 将 resized image 写入硬盘上的文件 但所有尝试都失败了 我可以将调整大小的图像写入磁盘而不是使用image
  • 我需要一个实时网站来测试 Facebook Connect 吗?

    我正在尝试将 facebook connect 与 nmy 社交网站集成 目前用户在我的网站上使用自己的帐户创建和登录 但我希望允许用户基本上在我的网站上创建一个新帐户 但使用 facebook connect 登录 我我认为在我的网站上这
  • PHP 中的 Europe/London 和 UTC 有区别吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道 UTC 和 GMT 实际上是
  • 正则表达式将从文本文件中提取句子

    我需要一个正则表达式来从文本文件中提取句子 示例文本 以 2004 年底发生的亚洲海啸灾难为例 对 Google 新闻 http news google com 的查询在一个月内 1 月 17 日 返回了超过 80 000 篇有关该事件的在
  • cakephp 无法在 Ubuntu 上进行 url 重写

    全部 这次我尝试 cakephp 但我得到了 您的服务器上的 URL 重写未正确配置 1 帮我配置它 2 我不 不能使用 URL 重写 我可以知道这是 apache 和 htaccess 问题 例如 etc apache2 sites av
  • while 循环中的表并排

    in a while loop its creating a list of heading and image links i want to display it as side by side like in following im
  • Oracle:如何获取刚刚插入的行的序列号?

    如何获取刚刚插入的行的序列号 插入 返回 declare s2 number begin insert into seqtest2 x values aaa returning seq into s2 dbms output put lin
  • Stripe 支付网关使用 PayumBundle 创建定期付款

    我在用支付包 https github com Payum PayumBundle将 Stripe 支付网关集成到我的 symfony2 应用程序中 我可以创建成功的直接付款 但无法创建定期付款 因为捆绑包的文档非常差 我的问题是如何使用
  • 在 woocommerce 管理订单页面中单击自定义按钮运行函数

    基于 在 woocommerce 中的管理订单列表顶部添加一个按钮 https stackoverflow com questions 49437781 add a button on top of admin orders list in
  • 参数编号无效:参数未在[重复]中定义

    这个问题在这里已经有答案了 被困在这里有一段时间了 当我尝试运行代码时收到此错误 警告 PDOStatement execute SQLSTATE HY093 无效参数 number 参数未定义于 Applications XAMPP xa
  • PHP 数组到 JavaScript 数组

    假设我在 php 中有这个数组 cities array Caracas gt array air gt array 4 3 5 Working Days Saturday sea gt array 18 3 5 Days Wednesda
  • PHP - 当 false 时获取 bool 来回显 false

    以下代码不会打印出任何内容 bool val bool false echo bool val 但下面的代码打印1 bool val bool true echo bool val 有没有更好的打印方法0 or false when boo
  • 支持通过 OAuth 进行 Facebook/Twitter 身份验证的 CAS 服务器

    我正在寻找一个支持 Facebook Twitter 通过 OAuth 进行单点登录身份验证的 CAS 服务器 我检查过 JASIG CAS 服务器 但它看起来不支持它们 我的 java web 应用程序基于 Spring Security
  • 获取特定月份/年份的第一天

    有没有比以下更好的方法返回特定月份 年份的第一天的日期 month date m year date Y from date Y m d mktime 0 0 0 month 1 year 这在计算上并不完全优雅 但我喜欢它 因为它非常可读
  • PhpPresentation imagecreatefromstring():数据不是可识别的格式 - PHP7.2

    我正在尝试使用 PhpPresentation 来阅读sample pptx使用文档中为读者提供的简单说明进行文件处理 我得到 imagecreatefromstring Data is not in a recognized format
  • Laravel 计划命令一旦启动就停止?

    我已经为 laravel 5 1 项目设置了预定命令 它有效 命令已经启动 但愚蠢的是我没有考虑如何停止它 通常您不想停止它 但该命令正在向数据库表中插入近 50 万行 而我只是想确保我可以在不登录服务器的情况下启动它 显然我需要在某个时候
  • 在生产服务器上使用 Subversion 使文件生效的最佳方法是什么?

    目前我已经设置了 subversion 这样当我在 Eclipse PDT 中进行更改时 我可以提交更改 它们将保存在 home administrator 中项目文件 该文件具有 subversion 推荐的 branches tags
  • array_merge 更改键

    我得到以下数组 arr array 6 gt Somedata 7 gt Somedata1 8 gt Somedata2 问题是 当我使用array merge array Select the data arr 它确实将数组键更改为 A
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht

随机推荐

  • 如何在 PrimeFaces 中的 CommandButton 上定义带有闭包的 oncomplete 事件?

    我正在使用一些 JavaScript 交互性扩展 PrimeFaces 应用程序的一部分 一切都始于CommandButton它从 bean 获取一些数据并调用 JavaScript 目前 它看起来像这样
  • 如何显示xml文件中的视频?

    您好 我使用下面给出的 xml 文件 如何从 xml 文件获取视频
  • 使用CMD在Mysql中导入压缩文件

    我正在尝试使用命令提示符将压缩数据库文件导入 Mysql 使用以下命令 7z lt backup sql 7z mysql u root test The root user don t有什么password与之相关 test是我的目标空白
  • WinForm应用程序数据持久化(C#)

    我相信 ASP NET 应用程序中 可变短期 持久性的最佳方法是 会话变量 会话范围 应用变量 应用范围 页面视图 页面范围 应用设置 应用范围 Windows 窗体应用程序中 可变短期 持久性的最佳方法是什么 表格范围 用户会话范围 应用
  • 如何将数据转换为非等列?

    我有一个事件数据集 按以下分组let像这样 set seed 3 events lt data frame let rep LETTERS 1 2 each 3 age c 0 sample 1 20 size 2 0 sample 1 2
  • 使用 boost 的 async_write 的异步 tcp 服务器会导致错误的文件描述符

    首先 我不是以英语为母语的人 所以我可能会犯一些语法错误 对此感到抱歉 我正在尝试使用 C 和 Boost 创建一个异步 TCP 服务器 我已经成功接受客户并收到他们的消息 但我无法回复他们的消息 我想要实现的是在 TCPServer 类上
  • 从 Xamarin / C# 中的 URL 加载 UIImage

    已经过去4年了这个问题 https stackoverflow com questions 2095635 load an image from a url已得到答复这篇博文 http escoz com blog displaying w
  • 使用 PHP 从 Microsoft Teams 自定义机器人验证 HMAC

    我正在尝试使用 PHP 验证 Microsoft Teams 自定义机器人 遵循 Microsoft指示 https learn microsoft com en us microsoftteams platform concepts cu
  • CUDA 确定每个块的线程、每个网格的块

    我是 CUDA 范式的新手 我的问题是确定每个块的线程数和每个网格的块数 这是否需要一些艺术和尝试 我发现许多例子似乎为这些事情选择了任意的数字 我正在考虑一个问题 我可以将任意大小的矩阵传递给乘法方法 这样 C 的每个元素 如 C A B
  • Java 8 中流的笛卡尔积作为流(仅使用流)

    我想创建一种方法 该方法创建一个元素流 这些元素是多个给定流的笛卡尔积 最后由二元运算符聚合为相同类型 请注意 参数和结果都是流 not收藏 例如 对于两个流 A B and X Y 我希望它产生价值流 AX AY BX BY 简单的串联用
  • Docx4j 字符串中的换行符

    我有这个字符串 Prueba Lista li1 li2 li3 li4 Tabulado Tabulado Tabulado Tabulado Tabulado Tabulado Tabulado Tabulado Tabulado Ta
  • dplyr 中的 substr %>% mutate

    pcd lt data frame tripNo c 618 618 610 610 610 619 procDate as Date c 2016 03 02 2016 03 03 2016 03 02 2016 03 03 2016 0
  • 手动调用按钮上的 click() ,我可以传递任何参数吗?

    我在 jquery javascript 代码中手动调用页面上的按钮上的 click 我需要传递一个参数来单击 然后我可以在响应单击事件的函数上读取该参数 这可能吗 你需要调用 trigger 您可以在那里传递任意数量的参数 element
  • 将尾部输出通过管道传输到另一个脚本中

    我正在尝试将 tail 命令的输出通过管道传输到另一个 bash 脚本中进行处理 tail n 1 f your log file myscript sh 但是 当我运行它时 永远不会到达 1 参数 在 myscript sh 内 我缺少什
  • ORA-38104: ON 子句中引用的列无法更新

    我有一个带有删除标志的简单表 记录应在此列中更新而不是删除 create table PSEUDODELETETABLE ID NUMBER 8 not null PKEY NAME VARCHAR2 50 not null ISDELET
  • 为订阅优惠生成签名 - Xcode - Swift

    我想问是否有人已经实现了 inapp 订阅 自动续订 的新优惠 如果可能的话 在服务器端创建系统以使用 p8 密钥和 php 创建此签名的难度 我在苹果文档中找到了这个 我不确定是否理解它 https developer apple com
  • Jquery 无法检测 IE 11

    刚刚偶然发现一个问题 当尝试使用 Jquery 检测 IE 11 当前正在播出的测试版 时 结果是 firefox 相同的代码检测 IE 10 我需要知道用户正在使用什么浏览器才能显示不同的指令 我正在 Oracle VirtualBox
  • Spark DataFrame 架构可为空字段

    我在 Scala 和 Python 中编写了以下代码 但是返回的 DataFrame 似乎没有应用我正在应用的架构中的非空字段 italianVotes csv是一个 csv 文件 以 作为分隔符和四个字段 我正在使用火花2 1 0 意大利
  • 在多索引数据框中选择行

    我想单独提取 S 的 bin 其中每列 X Y gt 0 5 或多个 bin gt 0 5 行数 在示例中 对于 AR1 应仅选择 bin 4 因为 X 和 Y gt 0 5 蓝色指示 对于 PO1 应选择 bin 1 2 3 和 4 因为
  • 如何在 win7 x64 上使用带有 php (xampp) 的 oracle 客户端 11.2

    我刚刚在我的 win7 x64 PC 上安装了一个实际的 XAMPP 来编写一些 PHP 脚本来连接到 Oracle DB 我还安装了正常的oracle 11 2 0客户端 PATH和ORACLE HOME设置正确 该客户端用于我的所有其他