既然MSSQL已被弃用,如何让SQLSRV扩展与PHP一起工作?
我升级到PHP5.3,并注意到PHP_mssql.dll缺失。在谷歌搜索了一下之后,5.3似乎已经放弃了对mssql的支持。所以我从微软下载了驱动程序,但我似乎无法让它工作 我在窗户上。解压PHP5.3的ext目录中的文件后,我需要做什么 MSSQL扩展在使用PHP5.3或更高版本的Windows上不再可用。 SQLSRV,MS SQL的替代驱动程序,可从Microsoft获得:» 下载后,请按照本页的说明进行操作:既然MSSQL已被弃用,如何让SQLSRV扩展与PHP一起工作?,php,sql-server,dll,Php,Sql Server,Dll,我升级到PHP5.3,并注意到PHP_mssql.dll缺失。在谷歌搜索了一下之后,5.3似乎已经放弃了对mssql的支持。所以我从微软下载了驱动程序,但我似乎无法让它工作 我在窗户上。解压PHP5.3的ext目录中的文件后,我需要做什么 MSSQL扩展在使用PHP5.3或更高版本的Windows上不再可用。 SQLSRV,MS SQL的替代驱动程序,可从Microsoft获得:» 下载后,请按照本页的说明进行操作: 简言之: 将驱动程序文件放在PHP扩展目录中。 修改php.ini文件以
修改php.ini文件以包含驱动程序。例如:
extension=php_sqlsrv_53_nts_vc9.dll
重新启动Web服务器
另请参见(从该页复制)
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
您可以在phpinfo()中看到线程安全状态
将正确的文件添加到ext目录,并将以下行添加到php.ini:
extension=php_sqlsrv_53_*_vc*.dll
使用所用文件的文件名
正如Gordon已经发布的,这是Microsoft的新扩展,使用sqlsrv_*API而不是mssql_*
更新:在Linux上,您没有必要的驱动程序和SQLSERV扩展。
请看下面的讨论 简而言之,您需要安装FreeTDS,是的,您需要在linux上使用mssql_*函数。见更新2 从长远来看,为了简化工作,我建议创建一个包装类,其中包含一些必要的函数,这些函数根据加载的扩展使用适当的API(sqlsrv_*或mssql_*) 更新2:
在linux上不需要使用mssql_*函数。您可以使用PDO+ODBC+FreeTDS连接到ms sql server。在windows上,连接的最佳方法是通过PDO+ODBC+SQL本机客户端,因为PDO+SQLSRV驱动程序的速度可能非常慢。好的,开始工作了。看起来他们已经重命名了所有的函数:(我需要为windows和linux使用不同的函数调用吗?就像旧的mssql_*用于linux和sqlsrv_*用于windows一样?@user187809 sqlsrv扩展只与windows上运行的PHP兼容。我们不能使用mssql_connect和其他mssql_x吗)SQLSRV扩展中的函数?因为我已经用PHP4开发了一个应用程序,我们升级到了PHP5.3.x版本。Linux和Windows呢?我需要为不同的操作系统使用不同的函数调用吗?microsoft的SQLSRV扩展仅适用于Windows。要从Linux Web服务器使用MS SQL Server,需要使用微软没有提供第三方驱动程序。请看这个问题。