致命错误:调用未定义的函数oci_connect()

我有下一行未注释(在我的php.ini):

extension=php_oracle.dll extension=php_oci8.dll 

我下载这个文件instantclient-basiclite-nt-11.2.0.2.0.zip并解压缩,并把它放在驱动器D …

我正在使用Windows XP

我这样设置环境variables:

 LD_LIBRARY_PATH C:\instantclient_11_2:$LD_LIBRARY_PATH ORACLE_HOME C:\instantclient_11_2 

但是当我执行oci_connect()函数时,我看到这个错误:

致命错误:调用未定义的函数oci_connect()in …

我发现这个警告在erroeLog文件上:

[29-Dec-2011 00:36:39] PHP警告:PHP启动:无法加载dynamic库'c:\ php \ ext \ php_oci8.dll' – 指定的模块找不到。 在第0行的未知

[29-Dec-2011 00:36:39] PHP警告:PHP启动:无法加载dynamic库'c:\ php \ ext \ php_oracle.dll' – 指定的模块找不到。

检查事项:

  • 您不需要设置LD_LIBRARY_PATHORACLE_HOME 。 但是,您需要将D:\instantclient_11_2添加到PATH环境variables,然后重新启动计算机,以便应用更改。

  • 在configurationPHP之前,请检查您的Oracle客户端库是否真正起作用(例如,尝试与SQL Developer连接)。

  • 注释掉extension=php_oracle.dll 。 它属于旧的和不推荐的Oracle扩展。

  • 仔细检查php_oci8.dll文件是否真的在c:\php\ext\php_oci8.dll

php_oci8.dll文件放到你的php/ext目录下后,你重启了apache吗?

也许你可以使用这个教程,我已经成功地configuration了我的oracle连接。 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDgQFjAC&url=http%3A%2F%2Fssk3408inventory.googlecode.com%2Ffiles%2FHow%2520to%2520enable%2520Oracle% 2520Connection%2520to%2520PHP%2520on%2520XAMPP.doc&EI = VbqmUcKkNMWxrgff5oC4DQ&USG = AFQjCNGx87waqDeExG2DhlwtU4VIEZE8nQ&BVM = bv.47244034,d.bmk

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

extension_dir = C:\xampp\php\ext ; 这是我用xampp,是明智的。

它为我工作。 问题在于访问扩展,与Oracle库无关。