【发布时间】:2016-02-26 21:06:24
【问题描述】:
基于上述,它指出应该避免在 Windows 上进行 OCI 连接。有人在 Windows 上配置过吗?我已经使用带有 PHP 5.6 和 Oracle 11g 的 Windows Server 2012 完成了所有其他线程,this 和 this,但仍然有问题:
调用未定义函数 oci_connect()
我已经设置路径:c:/instantclient_12_1
php.ini下可以看到:
;extension=php_oci8.dll
扩展=php_oci8_11g.dll
在/php/ext
下只有文件:php_oci8_12c.dll
这是 phpinfo() 显示配置命令的输出:
cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without- pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"
错误undefined function oci_connect()的原因是什么?
【问题讨论】:
-
如果您在这里没有得到答案,您可能想在更适合此类问题的 Serverfault.com(SO 的姊妹网站)上提问。
-
PHP/OCI 在 Windows 上没问题;我让它在几个生产服务器上运行。您已经链接到my previous answer,它与您在该主题上找到的一样全面。您是否检查过
php_errors.log文件中的启动错误? -
并在命令行中检查
where oci*的输出,以确认系统路径包含对您的oci 客户端文件的正确引用。 -
我已经在我的帖子中链接了你的答案
-
php5.dll is missing很可能意味着您正在尝试将非线程安全文件与 PHP 的线程安全构建一起使用。尝试从PECL 下载正确的文件。
标签: php oracle-call-interface php-5.6