php - 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 文件夹中。
可能缺少什么?有什么我忽略的吗?为什么应用程序会突然停止工作?
我很感激任何意见。
解决方案
推荐阅读
- swift - macos CLLocationManager 提示
- angular - 带有 Fusionchart 的 Angular 6 - 找不到模块:错误:无法解析 fusionmaps/maps/fusioncharts.world
- symfony - Webpack 开发服务器监视 Twig
- php - 是否可以更改 Laravel 中表迁移的顺序?
- java - Jetty 9.4.14 ProxyServlet 增加或禁用超时
- sorting - 在 solr7.5 中,如何按 facet.pivot 的二级字段计数排序?
- python - TensorFlow 预测输出的类别
- mysql - Mysql:试图获取树的所有子节点
- bash - Echo 输出变量的内容 & 用双引号括起来附加 ^M (bash)
- reactjs - React 中重复元素的密钥管理