简体   繁体   English

php sqlsrv 扩展未加载

[英]php sqlsrv extension not loading

I am running php 7.3 on my local machine running windows 10 and it works perfectly with the sqlsrv extension and ODBC Driver 17. I am trying to update php to 7.4 but php will not load the extension.我在运行 Windows 10 的本地机器上运行 php 7.3,它与 sqlsrv 扩展和 ODBC 驱动程序 17 完美配合。我正在尝试将 php 更新到 7.4,但 php 不会加载扩展。 Anyone know why it is not loading?有谁知道为什么它没有加载?

Error I get:我得到的错误:

PHP Warning: PHP Startup: Unable to load dynamic library 'php_sqlsrv_74_nts_x64' (tried: C:\\Program Files (x86)\\PHP\\v7.4\\ext\\php_sqlsrv_74_nts_x64 (The specified module could not be found.), C:\\Program Files (x86)\\PHP\\v7.4\\ext\\php_php_sqlsrv_74_nts_x64.dll (The specified module could not be found.)) in Unknown on line 0 PHP警告:PHP启动:无法加载动态库'php_sqlsrv_74_nts_x64'(试过:C:\\Program Files (x86)\\PHP\\v7.4\\ext\\php_sqlsrv_74_nts_x64(找不到指定的模块。),C:\\Program文件 (x86)\\PHP\\v7.4\\ext\\php_php_sqlsrv_74_nts_x64.dll(找不到指定的模块。))在 Unknown on line 0

Found a solution... You need to add the file extension to the extension= in the php.ini file.找到了解决方案...需要在php.ini文件中的extension=中添加文件扩展名。

php.ini 配置

So php.ini should look like this:所以 php.ini 应该是这样的:

extension=php_pdo_sqlsrv_74_nts_x64.dll
extension=php_sqlsrv_74_nts_x64.dll

You can write the complete filename in php.ini like that:您可以像这样在 php.ini 中写入完整的文件名:

extension=php_pdo_sqlsrv_74_nts_x64.dll

But because this is supported only for legacy reasons I would recommed the format extension=<ext> without 'php_' and '.dll'.但是因为仅出于遗留原因才支持此功能,所以我建议使用没有“php_”和“.dll”的格式 extension=<ext>。 In your case:在你的情况下:

extension=pdo_sqlsrv_74_nts_x64

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM