7

我没有注释下一行(在我的 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' - 找不到指定的模块。

4

3 回答 3

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

于 2011-12-26T13:18:15.643 回答
2

php_oci8.dll将文件放入目录后是否重新启动apache php/ext

于 2011-12-26T12:45:46.290 回答
0

只需将此行添加到指向扩展位置的 php.in 文件中,应该知道它们的位置,但通常在 php 文件夹中。

extension_dir = C:\xampp\php\ext ;这对我来说是使用 xampp 的,要明智。

它对我有用。问题在于访问扩展,与 oracle 库无关。

于 2014-02-04T08:26:33.660 回答