环境Centos 5.0+PHP 5.2
1. 安裝 mssql extension
2. 使用 FreeTDS 測試是否可連線到 SQL Server
3. 設定 freetds.conf
4. 根據 FreeTDS 設定調整 mssql_connect()
安裝 mssql extension
yum install php-mssql
重新启动Apache,检查phpinfo()信息中是否有mssql support enabled
在非 Windows 系统要连上 SQL Server 普遍使用 FreeTDS,所以这里会看到 Library version 是 FreeTDS ,而不是常见的版本数字
使用 FreeTDS 測試連線
php 藉由 FreeTDS 使用 SQL Server 資料庫,所以第一步就是單純使用 tsql 指令測試連線,這個步驟如果失敗,後面就不用試了。
tsql 的語法
Usage: tsql [-S <server> | -H <hostname> -p <port>] -U <username> [ -P <password> ] [ -I <config file> ]
tsql -H 192.168.1.4 -p 1433 -U sa -P password
-H 192.168.1.4 => SQL Server 的主機 IP 為 192.168.1.4
-p 1433 => TCP/IP 使用 1433 port,同時 1433 也是預設值,此參數的 p 為小寫請注意
-U sa => 允許連線的帳號
-P password => 該連線帳號的密碼,可省略
設定 FreeTDS freetds.conf
/usr/local/etc/freetds.conf
[global]
tds version = 4.2
initial block size = 512
text size = 64512
# 設定 SQL Server 的相關設定
# mssql2k 此名稱可自行設定,後續連線的 ServerName 指的就是這個
[mssql2k]
host = 192.168.1.4
port = 1433
client charset = cp950
tds version = 8.0
再用 tsql 測試一次,不同的是這次不是使用 IP:port ,而是指定 server
tsql -S mssql2k -p 1433 -U sa -P password
php mssql_connect
php mssql_connect() 的第一個參數為 ServerName,在Windows 環境下設定 IP 位址會是電腦名稱都可以,不過在使用 FreeTDS 的環境,ServerName 必須指定 freetds.conf 內設定的名稱
<?php
$db_link = mssql_connect( "mssql2k", "sa", "password" );
mssql_select_db( "erp", $db_link );
?>
文章出处:http://www.diybl.com/course/6_sy ... 0081217/154182.html |