我升级到了PHP 5.3,发现php_mssql.dll缺失。经过一些搜索,看起来5.3已经不再支持mssql。所以我从微软下载了驱动程序,但似乎无法使其工作。
我在Windows系统上。当我将文件解压到我的PHP 5.3的ext目录后,我需要做什么?
我升级到了PHP 5.3,发现php_mssql.dll缺失。经过一些搜索,看起来5.3已经不再支持mssql。所以我从微软下载了驱动程序,但似乎无法使其工作。
我在Windows系统上。当我将文件解压到我的PHP 5.3的ext目录后,我需要做什么?
引用自http://php.net/manual/en/intro.mssql.php:
在使用 PHP 5.3 或更高版本的 Windows 上,MSSQL 扩展程序已经不再可用。 Microsoft 提供了 SQLSRV,这是 MS SQL 的替代驱动程序: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.
下载完成后,请按照此页面上的说明进行操作:
简而言之:
将驱动程序文件放入 PHP 扩展目录中。
修改 php.ini 文件以包含驱动程序。例如:
extension=php_sqlsrv_53_nts_vc9.dll
重新启动Web服务器。
另请参阅(从该页面复制):
- 系统要求(Microsoft Drivers for PHP for SQL Server)
- 入门
- 编程指南
- SQLSRV驱动程序API参考(Microsoft Drivers for PHP for SQL Server)
SQLSRV扩展的PHP手册位于http://php.net/manual/en/sqlsrv.installation.php,提供以下安装指南:
通过将适当的DLL文件添加到您的PHP扩展目录并将相应条目添加到php.ini文件来启用SQLSRV扩展。 SQLSRV下载附带多个驱动程序文件。使用哪个驱动程序文件取决于3个因素:您正在使用的PHP版本、您是否使用线程安全或非线程安全的PHP以及您的PHP安装是否使用VC6或VC9编译器编译。例如,如果您正在运行PHP 5.3,您正在使用非线程安全的PHP,并且您的PHP安装是使用VC9编译器编译的,则应使用php_sqlsrv_53_nts_vc9.dll文件。 (如果您正在使用IIS作为Web服务器,则应使用使用VC9编译器编译的非线程安全版本)。如果您正在运行PHP 5.2,您正在使用线程安全的PHP,并且您的PHP安装是使用VC6编译器编译的,则应使用php_sqlsrv_52_ts_vc6.dll文件。
这些驱动程序也可用于PDO。
下载Microsoft Drivers for PHP for SQL Server。解压文件并使用以下之一:
File Thread Safe VC Bulid
php_sqlsrv_53_nts_vc6.dll No VC6
php_sqlsrv_53_nts_vc9.dll No VC9
php_sqlsrv_53_ts_vc6.dll Yes VC6
php_sqlsrv_53_ts_vc9.dll Yes VC9
extension=php_sqlsrv_53_*_vc*.dll
请确保在此处下载SQL驱动程序https://learn.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver15
然后将与您的php版本相同版本的两个文件移动到其中。(检查php -v)
在我的情况下,我使用的是7.4.30版本,并将php_pdo_sqlsrv_74_nts_x64.dll和php_sqlsrv_74_nts_x64.dll移动到了我的php文件夹ext中
C:\Program Files\php7.4.30\ext
然后打开你的php.ini文件并添加扩展,记得在扩展名中包含".dll"。
extension=php_pdo_sqlsrv_74_nts_x64.dll
extension=php_sqlsrv_74_nts_x64.dll
extension_dir = "C:\Program Files\php7.4.30\ext\"