這篇文章主要介紹“php無法鏈接mssql問題如何解決”,在日常操作中,相信很多人在php無法鏈接mssql問題如何解決問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php無法鏈接mssql問題如何解決”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)建站長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為凌海企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作,凌海網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
php無法連接mssql的解決辦法:1、修改身份驗(yàn)證模式;2、修改并確定賬號(hào)密碼;3、開啟賬號(hào)訪問數(shù)據(jù)庫的權(quán)限。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php無法鏈接mssql怎么辦?
php通常跟MySQL數(shù)據(jù)庫一起使用,但是在開發(fā)一些企業(yè)應(yīng)用時(shí),由于企業(yè)原來的應(yīng)用使用MSSQL,必須要讓php連接SQL Server,
這也是一個(gè)大坑,下面講講使用php連接SQL Server失敗的3種常見原因…
在進(jìn)行php連接mssql前,你需要先把sqlsrv這個(gè)擴(kuò)展裝好,這也是一大堆坑。
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.
"; }else{ echo "Connection could not be established.
"; die( print_r( sqlsrv_errors(), true)); }
一、 身份驗(yàn)證模式不對(duì)
SQL Server有兩種身份驗(yàn)證模式,
1-1) windows身份驗(yàn)證模式,
即使用windows系統(tǒng)中的賬號(hào)或域賬號(hào)。
1-2) SQL Server 驗(yàn)證模式 有的也叫 SQL Server和Windows身份驗(yàn)證模式
使用SQL Server數(shù)據(jù)庫創(chuàng)建的賬號(hào),
建議使用第2種SQL Server驗(yàn)證模式。
二、 賬號(hào)密碼不對(duì)
在php連接msql數(shù)據(jù)庫時(shí),涉及到windows系統(tǒng)賬號(hào),域賬號(hào)和SQL Server數(shù)據(jù)庫賬號(hào),
這么多賬號(hào),對(duì)第一次連接的朋友來說,不知道選擇哪一種。
我們自己使用php開發(fā)mssql數(shù)據(jù)庫時(shí),使用 1-2 中的SQL Server身份認(rèn)證模式,是使用SQL Server數(shù)據(jù)庫賬號(hào)連接成功的,域賬號(hào)連接失敗。
windows系統(tǒng)賬號(hào) 和 SQL Server數(shù)據(jù)庫賬號(hào) 的關(guān)系,就像linux中,linux系統(tǒng)賬號(hào) 和 mysql數(shù)據(jù)庫賬號(hào) 的關(guān)系,你不能用 linux 中的 www 用戶,登錄連接mysql數(shù)據(jù)庫。
三、 未授權(quán)訪問數(shù)據(jù)庫
雖然你的賬號(hào)密碼是對(duì)的,但是php連接mssql還是失敗,原因是你的賬號(hào)沒有訪問數(shù)據(jù)庫的權(quán)限,這時(shí)需要在SSMS(sql server management studio)中,對(duì)用戶進(jìn)行授權(quán),或者把用戶添加到對(duì)應(yīng)的安全組里。
還有一種可能出錯(cuò)原因
上面3個(gè)原因是開發(fā)中經(jīng)常遇到過的,如果你的php跟SQL Server安裝在不同一臺(tái)主機(jī)上,還有一種可能,就是SQL Server未允許遠(yuǎn)程連接和訪問。
到此,關(guān)于“php無法鏈接mssql問題如何解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!