PHP 8.0 连接 MS SQL Server

PHP 8.0 连接 MS SQL Server

手欠,把php 7.4升级到了8.0,结果连接不上sql server了,当然是最新的驱动不匹配了,折腾了半天,终于找对版本了。
驱动下载网址:
微软(适用于php7.2~7.4)

https://docs.microsoft.com/zh-cn/sql/connect/php/support-resources-for-the-php-sql-driver?view=sql-server-ver15
https://docs.microsoft.com/zh-cn/sql/connect/php/step-1-configure-development-environment-for-php-development?view=sql-server-ver15

php扩展(适用于php8.0)

https://pecl.php.net/package/pdo_sqlsrv
https://pecl.php.net/package/pdo_sqlsrv/5.9.0/windows
https://pecl.php.net/package/sqlsrv/5.9.0/windows

方法就很简单了,
1、把两个dll,拷贝到php的ext目录下,
2、编辑php.ini
在这段后面

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

加上这两行

extension=php_pdo_sqlsrv.dll
extension=php_sqlsrv.dll

在php.ini文件最后,可以加上这几行

[MSSQL]
mssql.allow_persistent=On
mssql.max_persistent=-1
mssql.max_links=-1
mssql.min_error_severity=10
mssql.min_message_severity=10
mssql.compatability_mode=Off
mssql.secure_connection=Off

3、重启apache后测试连接

<?php
$database = "master";
$uid = "sa";
$pwd = "MyPass#SQL2019";
$Server = "192.168.1.108";
$conInfo=array('Database'=>$database,'UID'=>$uid,'PWD'=>$pwd);
$conn=sqlsrv_connect($Server,$conInfo);
if( $conn ){
$query = 'SELECT * FROM sysusers';
$stmt = sqlsrv_query( $conn, $query);
while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))
{
echo "<span>".$row['name']."<br></span>";
}

}
else{
print_r( sqlsrv_errors(), true);
if( ($errors = sqlsrv_errors() ) != null) {
foreach( $errors as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "code: ".$error[ 'code']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
die("");
}
sqlsrv_free_stmt( $stmt);  
sqlsrv_close( $conn);  
?>

下载相关文件 https://download.csdn.net/download/tikiyou/15131856

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值