PHP警告:PHP启动:无法加载动态库' - 找不到指定的过程。在第0行的未知中

时间:2016-12-02 10:30:13

标签: php sql-server

我想将php版本更改为7.1,我有一个错误:

PHP Warning:  PHP Startup: Unable to load dynamic library 

    'C:\Program Files\PHP\v7.1\ext\php_sqlsrv_7_nts_x86.dll' - The specified procedure could not be found.
     in Unknown on line 0

首先想一想。这不是重复的问题,因为我检查了许多类似的问题。 我使用IISPHP 7.1SQL server(这就是我需要sqlsrv驱动程序的原因)。 我检查了php.ini文件aready,我将extension-dir路径更改为完整路径,但没有任何反应。 (逻辑上,如果路径是一个问题,为什么它适用于其他扩展?)。 它适用于PHP 7.0.7(所有已启用的扩展名完全相同)

更新:仍然无法正常工作,但我尝试将路径从错误消息粘贴到文件资源管理器并已存在文件。

3 个答案:

答案 0 :(得分:5)

原来,PHP 7.0和PHP 7.1不兼容,mssql PDO驱动程序适用于7.0。

Github issue here

还要确保包含正确的64/86和ts / nts版本。

答案 1 :(得分:5)

从Toby Allen收到的7.0和7.1以上的答案是不相容的,

然而,Microsoft已发布7.1的驱动程序的预览版本。 这对我有用,希望它可以帮助任何人搜索。

可以找到驱动程序here under downloads

答案 2 :(得分:1)

昨天我遇到了这个问题。错误的关键是最后一位。

  

找不到指定的程序。

在我的情况下,我经历了大量的调试。我注意到的第一件事是当我运行一个hello world php文件时,我没有得到这个错误。这表明加载文件实际上并不是一个问题,在文件中调用函数是一个问题。

我进去并反复放入die()语句并移动它直到它遇到错误。花了一段时间,但我最终发现我正在调用sqlsrv_connect,其中(显然)现在无效的选项。

因此,如果没有看到实际导致错误的代码,我就无法说出问题的确切原因,但我希望这至少可以指出正确的方向。