首页 > 解决方案 > IIS 服务器中的 php_oci8 问题

问题描述

我们有一个 php 应用程序位于我们的一个 IIS 服务器中,该应用程序通常使用通过 oci8 的 oracle 连接正常工作。问题是:它突然停止工作。

我自动开始调查为什么,应用程序显示找不到 oci8 驱动程序时发现的典型错误:

Fatal error: Call to undefined function oci_connect() in E:\serverpath_bla_bla\something.php on line 7

此时我决定检查 php.ini 配置文件以确保添加了正确的扩展名:

extension_dir = "C:\PHP\ext"
extension=php_oci8_11g.dll

一切似乎都在这一端找到了,我验证了 oci8 dll 位于 \ext 目录中,并且它们是。我们使用的是 PHP 版本 5.3.8,所以我想也许可以通过将 dll 更改为另一个版本,例如php_oci8.dll可以做到的(它也在 ext 文件夹中),但它仍然无法工作。

在调用php -m和/或php --ini通过命令提示符时,我看到许多消息一一弹出,指定未加载的不同 dll,我不明白,因为它们都在 \ext 文件夹中。

oci8 dll 的消息是最奇怪的:

PHP: Startup: Unable to load dynamic library 'C:\PHP\ext\php_oci8_11g.dll' - the specified procedure could not be found

但我可以看到 php_oci8_11g.dll 确实在 \ext 文件夹中。

可能缺少什么?有什么我忽略的吗?为什么应用程序会突然停止工作?

我很感激任何意见。

标签: phpoci8

解决方案


推荐阅读