⑴ php 怎麼連接sqlserver
准備工作:SQLSRV20.EXE(PHP mssql擴展庫)、php_mssql.dll文件。
安裝PHP mssql擴展庫:安裝SQLSRV20.EXE,選擇解壓路徑為:D:wampinphpphp5.2.9-2ext。
修改php.ini配置文件:打開php.ini配置文件,將其中
;extension=php_mssql.dll
;extension=php_pdo_mssql.dll
前面的分號去掉,然後再」Dynamic Extensions」區域的後面添加php_sqlsrv的動態鏈接庫文件: extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
注意事項:查看D:wampinphpphp5.2.9-2ext目錄下有也Php_mssql.dll文件。如果沒有,則下載該文件,復制到該目錄下。
測試環境配置是否成功:打開瀏覽器,在地址欄輸入http://localhost/?phpinfo=1 ,如果在打開的網頁中查詢到如下頁面內容,則配置成功,否則配置失敗。
⑵ thinkphp5 sqlserver 怎麼使用 order
資料庫配置格滲物族式為
'db_type' => 'pdo',
'db_user' => 'XX',
'db_pwd' => 'XXXXXXXX',
'DB_DSN' => 'sqlsrv:Server=XXXXXX;Database=XXXX',
用不上thinkphp的DB_type為mssql 和sqlser這兩個類型。
pdo連接在php5.3需要擴展dll,擴展文件為:php_pdo_sqlsrv_53_ts_vc9.dll(64位操作系統).在微軟下載網站上查找SQLSRV20.EXE下載。EXE是可叢弊解壓文件。
安裝SqlServer的軟體,由於很少接觸mssql,這軟體幹嘛的我也不螞仿知道,應該是用來連接資料庫的,名稱是sqlncli,在微軟下載網站上查找sqlncli.msi下載安裝。
⑶ PHP5.5 連接 SqlServer2008問題求解!!!
我這邊PHP環境是5.2,下載php_mssql.dll並開啟就可以連接了。
⑷ 寶塔linux 面板安裝 php sqlserver 擴展
用unixODBC連接
記錄步驟,詳細細節請自己問網路
首先需要安裝freetds
cd freetds-0.91
./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=7.1 // 注意這里用7.1 因為最高是7.2 如果用7.2會默認5.0
make && make install
當然我推薦使用ODBC+freetds 畢竟這樣PHP可以更好的支持
所以先安裝 unixODBC
cd unixODBC-2.3.1
./configure --prefix=/usr/local/unixODBC
make && make install
然後freetds需要如下配置
./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --enable-msdblib --with-tdsver=7.1
make && make install
配置ODBC
cd /usr/local/unixODBC/etc
vi odbcinst.ini
[TDS]
Description = MS-SQLServer
Driver = /usr/local/freetds/lib/libtdsodbc.so
Setup = /usr/local/freetds/lib/libtds.so
FileUsage = 1
保存退出
vi odbc.ini
[mssql]
Driver = TDS
Server = 192.168.1.2
Database = xxxDB
Port = 1433
Socket =
Option =
Stmt =
保存退出
現在可以測試連接SQLSERVER了
/usr/local/unixODBC/bin/isql -v mssql sa password
//mssql 是 odbc.ini里定義的節點名
完美成功。。。
當然別忘記去PHP動態的擴展ODBC組件
⑸ php怎麼連接sql server 2012
1:PHP5.2.x本身有個php_mssql.dll的擴展用來連接Sql server,但是這個dll只是用來連接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本無法使用mssql_connect連接到資料庫。
2:php5.3.x不再支持php_mssql.dll 拓展庫了,及時使用php5.2.x中的php_mssql.dll也無法使用。 微軟專門為PHP出了個SQL Server的擴展(Windows版本的),對於Windows下使用php開發SQL Server應用來說,這個擴展有利於利用SQL Server來開發php平台連接sql server資料庫管理系統。
一、php5.3以下的版本連接sql server
5.3以下的版本擴展裡面自帶一個php_mssql.dll;接資料庫的擴展,可以利用這個擴展鏈接資料庫,(只限於鏈接低版本資料庫)。
具體的步驟如下:
1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上
2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把mssql.secure_connection = On 重啟後生效。
如果比較順利的話已經可以連接資料庫了,如果連不上就需要繼續低下的配置:
3: 檢查ntwdblib文件的版本(php/下面和Apache/下面)下載正確的版本的 ntwdblib.dll(2000.80.194.0)覆蓋現有的DLL文件,(把ntwdblib.dll,php_mssql.dll 復制到system32目錄中也可以)ntwdblib.dll 用於PHP連接MSSQL2005或2008的驅動文件。
4:測試連接:mssql_connect('localhost,1433', '用戶名', '密碼');
二、php5.3+連接sql server
其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接資料庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver資料庫
步驟如下:
1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這么幾個文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web伺服器軟體,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。
如果不知道可以在phpinfo里看Zend Extension Build這個屬性如下圖:
2:將擴展拷貝到拷到php/ext目錄下,在php.ini文件,添加一下代碼:
extension=在ext下的pdo擴展(用於pdo)
extension=在ext下的擴展
3:重啟伺服器,打開phpinfo();看到以下狀態就證明添加擴展成功,
4:連接測試:
<?php $serverName = "(local)"; $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established. "; }else{ echo "Connection could not be established. "; die( var_mp(sqlsrv_errors())); } sqlsrv_close( $conn); ?>
注意這里的連接不是用mssql_connect而是用sqlsrv_connect,在這個版本中,還有幾個函數:
這個擴展為php新增了一系列sqlsrv_開頭的函數,常用的如下:
sqlsrv_connect
sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
. . .
另外注意的是,如果使用這個擴展連接Sql server 2005以及以上版本的sql server(如sql server 2008),你還需要在機器上先安裝 SQL Server Native Client
不然會出現如下錯誤:
array
0 =>array
0 =>string'IMSSP'(length=5)
'SQLSTATE' =>string'IMSSP'(length=5)
1 =>int-49
'code' =>int-49
2 =>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86:
http://go.microsoft.com/fwlink/?LinkId=163712'
(length=216)
'message' =>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86:
http://go.microsoft.com/fwlink/?LinkId=163712'
(length=216)
1 =>array
0 =>string'IM002'(length=5)
'SQLSTATE' =>string'IM002'(length=5)
1 =>int0
'code' =>int0
2 =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
'message' =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
解決方法:需要安裝SQL Server 2008 Native Client ODBC Driver,下載安裝文件sqlncli.msi,安裝後就可以了。
⑹ php pdo sqlserver PDO::ATTR_TIMEOUT
win用微軟官方擴展,然後win和linux連接sqlserver的代碼分別如下: if(DIRECTORY_SEPARATOR == '\\') { $this->linkID[$linkNum] = new PDO("sqlsrv:Server={$config['host']};Database={$config['dbname']};", $config['username'], $config
⑺ PHP連接SQLServer2005的方法
1.修改php.ini將extension=php_mssql.dll的注釋刪除保存。
修改php.in將mssql.secure_connection
=
Off改為mssql.secure_connection
=
On。
2.下載連接2005的ntwdblib.dll
(2000.80.194.0)
點擊下載
3.
打開文件X:AppServphp5ext,把php_mssql.dll
復制到system32目錄下。
把下載的ntwdblib.dll
復制到system32目錄下。
把下載的ntwdblib.dll
復制到php5目錄下。
重啟apache服務
連接MS
SQL
Server
2005代碼
復制代碼
代碼如下:
<?php
$conn=mssql_connect(ཷ.173.xxxxxx.xxxxxx,1468','sa','xxxxxx');
mssql_select_db('HR',$conn);
$Query="select
*
from
Class";
$Result=mssql_query($Query);
$Number=mssql_num_rows($Result);
for($i=0;$i<$Number;$i++)
{
$Row=mssql_fetch_array($Result);
echo($Row[1]);
echo("<br/>");
}
?>
看,是不是已經連接上了sql2005了呢,希望小夥伴們能夠喜歡。
⑻ php連接sqlserver2008失敗
這個是提示你沒有安裝MSSQl 2012的驅動擴展。
從Sql Server 2008開始,不再支持PHP自帶的驅動程序,需要使用微軟提供的驅動程序。此驅動程序拋棄了mssql系列函數,只能使用sqlsrv和pdo的方式進行連接操作。
步驟1:下載微軟Sql Server官方驅動程序,下載地址:
http://www.microsoft.com/en-us/download/details.aspx?id=20098
步驟2:安裝Sql Server的驅動擴展
將下載好的exe程序打開,解壓會釋放出很多.dll文件,將對應的dll文件拷貝到你的php擴展包目錄下的ext目錄。
解壓得到的dll文件中文件名的數字部分(例如52,53)代表對應不同的PHP版本,文件名中帶n的為非線程安全的,文件名中的vc對應的是VC版本,VC6可以部署到Apach2.X版本,VC9可部署到更高版本Apache。
首先,需要確定你的PHP的版本,假設PHP的版本為5.3.x
其次,要確定你的PHP運行的是線程安全的還是非線程安全的(假設線程安全)。
另外,還需要確認的版本(假設Apache2.2)。
那麼,你對應的文件應當是php_pdo_sqlsrv_53_ts_vc6.dll(PDO鏈接)和php_sqlsrv_53_ts_vc6.dll(sqlsrv鏈接),將這兩個文件拷貝到你的PHP的擴展包下的ext目錄,然後要修改php.ini,增加這兩項擴展的支持:
extension=php_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll
保存後重啟Apache即可。
⑼ php用sqlsrv連接sqlserver,報錯,怎樣解決
根據php官方手冊,衫叢對於sqlsrv這個擴展的需求是這樣說明的:
需求
The SQLSRV extension can be used on the following operating systems:
Windows Vista Service Pack 2 or later
Windows Server 2008 Service Pack 2 or later
Windows Server 2008 R2
Windows 7
也就是或橡櫻說,sqlsrv這個擴展僅被用於windows平如吵台,並且其版本要是windows Vista以上的版本才能正確運行。
⑽ centos7 php5.6 如何安裝mssql擴展,需要支持sqlserver2012
其實sqlserver不一定要mssql擴展,可以使用pdo連接
$Conn=newPDO('dblib:資料庫地址:資料庫埠;dbname=資料庫名稱','資料庫用戶','資料庫密碼'和頌芹);
不過,centos7系統是linux系統,sqlserver資料庫只能運行在win系統下,你要遠程連接資料庫?
如果真是這樣,那還不如直接伺服器用windows操作系統,雖然linux運行php各方面比win系統好些,但相對遠程連接資料庫來說,就不如php和sqlserver放在一台服櫻槐務器了!
遠程連喚畢接資料庫,速度上有很大影響!具體還得看兩台伺服器放置的機房和配置等之類的!