【发布时间】:2014-07-20 00:30:16
【问题描述】:
让 OCI8 在我的服务器安装上运行时遇到了具体问题。
第一次设置:
- Win 2008 Server 32bit
- 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 (PECL oci8 dl site) 下载了 php_oci8 库
- 将它们放到php.ini中设置的ext目录中
- 将 extension=php_oci8.dll 添加到 php.ini 中
- 重启 apache
在这一切之后,我检查了 php_info 以查看,如果一切正常,但是没有 oci8 的迹象。
我尝试了旧版 Oracle 即时客户端,在 php_oci8.dll、php_oci8_11g.dll 或 php_oci8_12c.dll 之间切换,但没有任何帮助。
我发现,由于环境部分中的 php_info 显示的值与在 windows 中设置的值不同。 从 php 错误日志中,我还得到了以下信息:
[2014 年 5 月 30 日 08:02:16 UTC] PHP 警告:PHP 启动:无法加载动态库 'C:\Program Files\Zend\ZendServer\lib\phpext\php_oci8_11g.dll' - 指定的模块找不到。 在第 0 行的未知中
目前,我不知道该怎么做,除非尝试重新安装 php(我不想这样做,因为与此相关的许多问题)、不同的 Oracle 即时客户端或不同的 php_oci8 库。我用谷歌搜索了几个小时,尝试查看 Stack,但没有解决方案,只是一些提示,没有帮助。有人遇到并解决过类似的事情吗?
【问题讨论】:
标签: php windows-server-2008-r2 php-5.3 oci8