我有下一行未注释(在我的php.ini中):
extension=php_oracle.dll
extension=php_oci8.dll
我下载了这个文件instantclient-basiclite-nt-11.2.0.2.0.zip
并解压缩并将其放在驱动器D ...
我正在使用Windows XP
我设置了这样的环境变量:
LD_LIBRARY_PATH C:\instantclient_11_2:$LD_LIBRARY_PATH
ORACLE_HOME C:\instantclient_11_2
但是当我执行oci_connect()
函数时,我看到了这个错误:
致命错误:在...中调用未定义的函数oci_connect()
我在erroeLog文件中发现了这个警告:
[29-Dec-2011 00:36:39] PHP警告:PHP启动:无法加载动态库'c:\ php \ ext \ php_oci8.dll' - 找不到指定的模块。 在第0行的未知中
[29-Dec-2011 00:36:39] PHP警告:PHP启动:无法加载动态库'c:\ php \ ext \ php_oracle.dll' - 找不到指定的模块。
答案 0 :(得分:4)
要检查的事项:
您无需设置LD_LIBRARY_PATH
或ORACLE_HOME
。但是,您需要将D:\instantclient_11_2
添加到PATH
环境变量并重新启动计算机,以便进行更改。
在配置PHP之前,请检查您的Oracle客户端库是否真正有效(例如,尝试与SQL Developer连接)。
评论extension=php_oracle.dll
。它属于旧的和已弃用的Oracle扩展。
仔细检查php_oci8.dll
文件是否真的在c:\php\ext\php_oci8.dll
?
答案 1 :(得分:2)
将php_oci8.dll
文件放入php/ext
目录后,您是否重启了apache?
答案 2 :(得分:0)
只需将此行添加到指向扩展位置的php.in文件中,应该知道它们的位置,但通常在php文件夹中。
extension_dir = C:\xampp\php\ext ;
这对我来说是使用xampp,明智。
它对我有用。问题在于访问扩展,与oracle库无关。