这篇文章主要介绍“php无法链接mssql问题如何解决”,在日常操作中,相信很多人在php无法链接mssql问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php无法链接mssql问题如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
php无法连接mssql的解决办法:1、修改身份验证模式;2、修改并确定账号密码;3、开启账号访问数据库的权限。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php无法链接mssql怎么办?
php通常跟mysql数据库一起使用,但是在开发一些企业应用时,由于企业原来的应用使用MSSQL,必须要让php连接SQL Server,
这也是一个大坑,下面讲讲使用php连接SQL Server失败的3种常见原因…
在进行php连接mssql前,你需要先把sqlsrv这个扩展装好,这也是一大堆坑。
php连接SQL Server代码如下
//$serverName = "localhost"; $serverName = "127.0.0.1"; $connectionInfo = array( "Database"=>"qinziheng", "UID"=>"sa", "PWD"=>"123456"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.<br />"; }else{ echo "Connection could not be established.<br />"; die( print_r( sqlsrv_errors(), true)); }
一、 身份验证模式不对
SQL Server有两种身份验证模式,
1-1) windows身份验证模式,
即使用windows系统中的账号或域账号。
1-2) SQL Server 验证模式 有的也叫 SQL Server和Windows身份验证模式
使用SQL Server数据库创建的账号,
建议使用第2种SQL Server验证模式。
二、 账号密码不对
在php连接msql数据库时,涉及到windows系统账号,域账号和SQL Server数据库账号,
这么多账号,对第一次连接的朋友来说,不知道选择哪一种。
我们自己使用php开发mssql数据库时,使用 1-2 中的SQL Server身份认证模式,是使用SQL Server数据库账号连接成功的,域账号连接失败。
windows系统账号 和 SQL Server数据库账号 的关系,就像linux中,linux系统账号 和 mysql数据库账号 的关系,你不能用 linux 中的 www 用户,登录连接mysql数据库。
三、 未授权访问数据库
虽然你的账号密码是对的,但是php连接mssql还是失败,原因是你的账号没有访问数据库的权限,这时需要在SSMS(sql server management studio)中,对用户进行授权,或者把用户添加到对应的安全组里。
还有一种可能出错原因
上面3个原因是开发中经常遇到过的,如果你的php跟SQL Server安装在不同一台主机上,还有一种可能,就是SQL Server未允许远程连接和访问。
到此,关于“php无法链接mssql问题如何解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。