首先设置:
- Win 2008 Server 32位 - ZendServer for PHP with Apache2.2 - PHP版本为5.3.14,没有php_oci8文件 - 没有安装Oracle 我需要能够连接到远程Oracle数据库,所以我发现应该使用OCI8扩展。为了使OCI8工作,我还需要在服务器上安装至少Oracle Instant Client,因为OCI8需要某些DLL。
我做了什么?
- 从Oracle网站(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目录中
- 在php.ini中添加extension=php_oci8.dll
- 重新启动Apache
所有这些操作完成后,我检查了php_info以确认是否一切正常,但没有发现oci8的任何迹象。
我尝试使用较旧的Oracle instant client,并在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启动时发生错误: 无法加载动态库'C:\ Program Files \ Zend \ ZendServer \ lib \ phpext \ php_oci8_11g.dll' - 找不到指定的模块。 在未知行
目前,我不知道该怎么办,除非尝试重新安装PHP(由于与其相关的许多问题),不同的Oracle即时客户端或不同的php_oci8库。 我谷歌了几个小时,试图在Stack上寻找答案,但没有解决方案,只有一些提示,没有帮助。 是否有人遇到并解决了类似的问题?