Chinaunix首页 | 论坛 | 博客
  • 博客访问: 84126
  • 博文数量: 13
  • 博客积分: 384
  • 博客等级: 一等列兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-20 09:16
文章分类

全部博文(13)

文章存档

2011年(13)

最近访客

分类: LINUX

2011-05-27 12:13:11

出处

建置測試環境:

取得 Linux ISO 檔:

安裝 Trustix Linux:

只勾選基本套件, 安裝內容不到 400MB, 咻~ 一下就裝好了 :)

vi /etc/sshd_config --> PermitRootLogin yes (讓 root 可以遠端 ssh 登入)
chkconfig sshd on
service sshd start

vi /etc/locales.conf --> 找到 # zh_TW BIG5, 把註解符號 ( # ) 拿掉
locales-gen (讓系統 locale 支援 zh_TW 繁體中文)

安裝 :

./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib && make && make install

安裝 :

./configure --prefix=/usr/local/httpd --enable-so --enable-modules=so && make && make install

安裝 :

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-sybase=/usr/local/freetds && make && make install

cp php.ini-dist /usr/local/php/lib/php.ini

FreeTDS tsql 連結 MS-SQL Server 2000 測試結果:

./tsql -H -p 1433 -U sa

不管 LANG 設定為何, 皆能顯示中文資料.

./tsql -S -U sa

當 freetds.conf [serv] 區塊設有 tds version = 8.0 時, 需 export LANG=zh_TW 才能顯示中文資料;
若無 tds version 設定, 則不管 LANG 設定為何, 皆能顯示中文資料.

PHP mssql_connect() 連結 MS-SQL Server 2000 測試結果:

PHP configure 參數為: --with-mssql 時, 無法連結 MS-SQL 資料庫. (Unable to connect to server)

PHP configure 參數為: --with-sybase 時, 只能以 IP 連結, 使用 server_name 時會 hang 住,
除非在 /etc/hosts 加入 server_name 和其對應 IP. 看來它並不會去讀取 freetds.conf 設定檔 :(
此外, query 的資料有中文內容時, 會出現 Some character could not be converted into client's character set
的警告訊息. 雖然可以在 php.ini 設定 error_reporting = E_ERROR 讓它不顯示警告訊息, 不過中文字還是會變成問號.

若 PHP configure 參數: --with-mssql 和 --with-sybase 都指向 freetds 路徑, 執行時會在
httpd error_log 出現 duplicate name 的錯誤訊息, 其餘症狀同上述 --with-sybase 部份.

後記:

看來 FreeTDS 似乎在 Red Hat / Fedora 平台上比較正常些...

雖然沒能測出如何在 Trustix 平台以 PHP 透過 FreeTDS 讀出並顯示中文資料, 但至少又認識了一個不錯的 Linux 套件.

小而美的 Trustix Linux 真的挺適合拿來當 Linux Server 或拿來做實驗, 我已經喜歡上它了 :P

其實 PHP 連結 MS-SQL Server 還有許多解決方案, 像 、new COM("ADODB.Connection")、, 再不然就乖乖的用 IIS + ASP 吧...

順帶一提, 1.0.6 中/英文版已經在 2005/07/20 同步推出囉!

阅读(2065) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~