php - Windows 服务器上的 OCI8 php 扩展安装

标签 php windows-server-2008-r2 php-5.3 oci8

我在使 OCI8 在我的服务器安装上运行时遇到了具体问题。

第一次设置:

  • Win 2008 服务器 32 位
  • ZendServer for PHP with Apache2.2
  • 没有 php_oci8 文件的 PHP 版本 5.3.14
  • 没有安装 oracle 东西

我需要能够连接到远程 oracle 数据库,所以我发现应该使用 OCI8 扩展。为了使 OCI8 工作,我还应该至少需要服务器上的 Oracle Instant Client,因为某些 DLL OCI8 需要。

我做了什么?

  • 从他们的站点 ( oracle download site ) 下载了 Oracle Instant Client,版本 11.2.0.4.0
  • 解压到文件夹中,我选择 Program Files/oci_11_2
  • 将地址添加到windows变量路径
  • 重新启动 Win
  • 从 PECL 下载 php_oci8 库 (PECL oci8 dl site)
  • 放入php.ini中设置的ext目录
  • 在 php.ini 中添加了 extension=php_oci8.dll
  • 重启apache

在这一切之后,我检查了 php_info,看看是否一切正常,但是没有 oci8 的迹象。

我尝试了较旧的 Oracle 即时客户端,在 php_oci8.dll、php_oci8_11g.dll 或 php_oci8_12c.dll 之间切换,但没有任何帮助。

我发现,由于环境部分中的 php_info 显示的值与在 Windows 中设置的值不同。 从 php 错误日志中,我还得到以下信息:

[30-May-2014 08:02:16 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\Zend\ZendServer\lib\phpext\php_oci8_11g.dll' - The specified module could not be found. in Unknown on line 0

目前,我不知道该怎么做,除非尝试重新安装 php(我不想这样做,因为与之相关的问题很多)、不同的 Oracle 即时客户端或不同的 php_oci8 库。我在谷歌上搜索了几个小时,尝试查看 Stack,但没有解决方案,只有一些提示,但没有帮助。有没有人遇到并解决过类似的事情?

最佳答案

我有同样的问题,以下步骤帮助我解决了问题。

  1. 下载 instantclient 并放置“C:\instantclient_11_2”

  2. 为 C:\instantclient_11_2 设置环境变量

  3. 检查您的 php 版本,即 PHP 版本 5.6.15

  4. 表格 http://pecl.php.net/package/oci8下载准确的版本,对我来说是 php_oci8-2.0.8-5.6-nts-vc11-x86.zip,解压并复制 php_oci8_11g.dll 到 php ext 文件夹,对我来说它是“C:\xampp\php\ext”

  5. 在 php.ini 中取消注释“extension=php_oci8_11g.dll”并重新启动 apache

  6. 检查 php_info(),应启用 oci8。

    就这些。

关于php - Windows 服务器上的 OCI8 php 扩展安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23951335/

相关文章:

javascript - 通过 Ajax 调用带有 URL 参数的 PHP 函数

php - 尝试在 Amazon AWS 上的 mySQL 数据库上使用 JSON_OBJECT 函数

powershell - 使用 Powershell 远程安装 .msi

php - 如何使用提交的请求重定向回我的上一页

javascript - 更改选择框上 ajax 的状态

php - C2DM实现PHP代码

javascript - 地理定位API : how to know if the user clicked on close or block button

c# - 应用程序通过 ODBC 访问 Sage Line 50 数据时出错

windows - 如何创建 Windows 服务来运行 powershell 脚本?

php - 如何为字符串中的每个单词添加一些符号?