首页 > 解决方案 > PHP 启动:无法加载动态库 'sqlsrv_7_ts_x64'

问题描述

我正在尝试在 Windows 2008 服务器上安装 Apache、MySQL 和 PHP(试运行,将在可用时移至 2012)。

实际上有这部分工作。

需要添加访问 Microsoft SQL 数据库的功能。已安装 SQLSRV40。
extension_dir 是 extension_dir ="c:/wamp64/bin/php/php7.2.18/ext/" .dll 在 extension_dir 中。php_pdo_sqlsrv_7_ts_x64.dll php_pdo_sqlsrv_7_nts_x64.dll php_sqlsrv_7_ts_x64.dll php_sqlsrv_7_nts_x64.dll

将这些语句添加到 php.ini: ; 添加访问 SQL 数据库的扩展 ;extension=php_pdo_sqlsrv_7_ts_x64.dll ;extension=php_pdo_sqlsrv_7_nts_x64.dll ;extension=php_sqlsrv_7_ts_x64.dll ;extension=php_sqlsrv_7_nts_x64.dll extension=sqlsrv_7_ts_x64

使用如上配置的 php.ini 重新启动 Apache 会导致:[30-Oct-2019 19:11:23 UTC] PHP 警告:PHP 启动:无法加载动态库“sqlsrv_7_ts_x64”(尝试:c:/wamp64/bin/php /php7.2.18/ext/sqlsrv_7_ts_x64(找不到指定的模块。),c:/wamp64/bin/php/php7.2.18/ext/php_sqlsrv_7_ts_x64.dll(找不到指定的过程。))未知在第 0 行 [2019 年 10 月 30 日 19:11:24 UTC] PHP 警告:PHP 启动:无法加载动态库“sqlsrv_7_ts_x64”(尝试:c:/wamp64/bin/php/php7.2.18/ext/sqlsrv_7_ts_x64(找不到指定的模块。),c:/wamp64/bin/php/php7.2.18/ext/php_sqlsrv_7_ts_x64.dll(找不到指定的过程。))在Unknown on line 0

使用开头的 php 和结尾的 .dll 的扩展会导致:[30-Oct-2019 19:03:15 UTC] PHP 警告:PHP 启动:无法加载动态库 'php_pdo_sqlsrv_7_ts_x64.dll'(尝试:c :/wamp64/bin/php/php7.2.18/ext/php_pdo_sqlsrv_7_ts_x64.dll(找不到指定的程序。),c:/wamp64/bin/php/php7.2.18/ext/php_php_pdo_sqlsrv_7_ts_x64.dll.dll(找不到指定的模块。))在第 0 行的未知中 [2019 年 10 月 30 日 19:03:15 UTC] PHP 警告:PHP 启动:无法加载动态库“php_pdo_sqlsrv_7_nts_x64.dll”(尝试:c:/wamp64 /bin/php/php7.2.18/ext/php_pdo_sqlsrv_7_nts_x64.dll(找不到指定的模块。),c:/wamp64/bin/php/php7.2.18/ext/php_php_pdo_sqlsrv_7_nts_x64.dll.dll(指定的模块可以未找到。))在第 0 行 [30-Oct-2019 19:03:15 UTC] 上的未知中 PHP 警告:PHP Startup: Unable to load dynamic library 'php_sqlsrv_7_ts_x64.dll' (试过: c:/wamp64/bin/php/php7.2.18/ext/php_sqlsrv_7_ts_x64.dll (找不到指定的程序), c:/wamp64/ bin/php/php7.2.18/ext/php_php_sqlsrv_7_ts_x64.dll.dll(找不到指定的模块。))在第 0 行的未知 [2019 年 10 月 30 日 19:03:15 UTC] PHP 警告:PHP 启动:无法加载动态库'php_sqlsrv_7_nts_x64.dll'(试过:c:/wamp64/bin/php/php7.2.18/ext/php_sqlsrv_7_nts_x64.dll(找不到指定的模块。),c:/wamp64/bin/php /php7.2.18/ext/php_php_sqlsrv_7_nts_x64.dll.dll (The specified module could not be found.)) 在 Unknown on line 0dll(找不到指定的程序。),c:/wamp64/bin/php/php7.2.18/ext/php_php_sqlsrv_7_ts_x64.dll.dll(找不到指定的模块。))在Unknown on line 0 [30 -Oct-2019 19:03:15 UTC] PHP 警告:PHP 启动:无法加载动态库“php_sqlsrv_7_nts_x64.dll”(尝试:c:/wamp64/bin/php/php7.2.18/ext/php_sqlsrv_7_nts_x64.dll(找不到指定的模块。),c:/wamp64/bin/php/php7.2.18/ext/php_php_sqlsrv_7_nts_x64.dll.dll(找不到指定的模块。))在第0行的未知dll(找不到指定的程序。),c:/wamp64/bin/php/php7.2.18/ext/php_php_sqlsrv_7_ts_x64.dll.dll(找不到指定的模块。))在Unknown on line 0 [30 -Oct-2019 19:03:15 UTC] PHP 警告:PHP 启动:无法加载动态库“php_sqlsrv_7_nts_x64.dll”(尝试:c:/wamp64/bin/php/php7.2.18/ext/php_sqlsrv_7_nts_x64.dll(找不到指定的模块。),c:/wamp64/bin/php/php7.2.18/ext/php_php_sqlsrv_7_nts_x64.dll.dll(找不到指定的模块。))在第0行的未知dll (The specified module could not be found.), c:/wamp64/bin/php/php7.2.18/ext/php_php_sqlsrv_7_nts_x64.dll.dll (The specified module could not be found.)) in Unknown on line 0dll (The specified module could not be found.), c:/wamp64/bin/php/php7.2.18/ext/php_php_sqlsrv_7_nts_x64.dll.dll (The specified module could not be found.)) in Unknown on line 0

文件名已被验证为正确。Apache 用户已被验证为可以访问 ext 文件夹和那些文件。

使用 Wampserver 附带的工具通过活动的 PHP 扩展,所有四个都显示为活动,无论它们是否被注释掉。php_pdo_sqlsrv_7_ts_x64 php_pdo_sqlsrv_7_nts_x64 php_sqlsrv_7_ts_x64 php_sqlsrv_7_nts_x64

有任何想法吗?

标签: phpsqlwindowswamp

解决方案


从附加搜索中发现 sqlsrv_7 dll 不适用于 PHP 7.2。必须下载一组不同的驱动程序(Windows-7.2)。作品。有一个不同的问题,但这是一个新问题。


推荐阅读