我安装了 PHP 5.2.11,在启用 php_mssql.dll 模块(以及强制重新启动服务)后,开始收到无法加载动态库的警告。操作环境是 Windows 2003 R2 下的 IIS ISAPI。以下是检查的内容列表
- 文件存在于 \PHP\ext 目录中,并具有与其他分发版提供的库相同的时间戳。
- 文件的权限正确。其他扩展已启用并以相同的权限运行。
- ntwdblib.dll 已从 SQL Server 2005 安装中复制(根据 php.net 对模块的要求)
php_mssql 条目前后的其他模块均正常运行。我还精简并删除了所有非必要引用,并检测到了改进。我打开了日志记录并启用了 php.ini 中的所有错误日志,但日志未生成任何内容。
通过 Google 搜索,我发现 php.net 上有大量已关闭/未解决的错误报告和一些杂项近似匹配,但这些报告都没有真正解决问题或带来任何启发。
答案1
因为这最近困扰着我,所以您应该检查以确保系统路径包含安装 PHP 的目录。
控制面板 -> 系统 -> 高级 -> 环境变量 -> 选择系统变量下的路径,然后单击编辑按钮(务必单击系统变量下方的编辑按钮)。
查看小文本框以确保列出了您的 PHP 目录。如果没有,您可以通过在前一项后面添加分号然后输入路径来添加它(我的是 C:\PHP)
答案2
发现问题:显然 msvscrt.dll 不在 php 满意的位置。在 C:\PHP 文件夹中创建副本,现在一切正常。Path 环境变量是一个很好的提示,但我已经仔细检查过了。