致命错误:调用未定义的函数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_PATH
和ORACLE_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库无关。