問:關於PHP與Sybase數據庫的連接與使用
答:
很高興看到大家在使用Sybase,在使用本站php_sybct.dll模塊時,不少網友遇到問題,
現將網友們的問題解釋如下:
1.注意你的PHP版本,我只使用PHP官方源代碼(http://php.net)編譯PHP.而且,在PHP4裡,我發現
每一個版本都稍有區別(主要與ZEND有關),因此PHP4的模塊嚴格區分PHP版本,PHP4RC1的模塊不
可能在PHP4.0.0中使用.有網友使用swwwing.com公司的PHP編譯版,我不能保證你一定能使用本
模塊.
2.正確配置你的PHP,保證你的機器在系統可遍歷的路徑裡只有一個php.ini,並配置正確,建議的
做法: 將php_sybct.dll拷至php4所在目錄,如c:php4,修改php.ini(一般位於Windows目錄或
WinNT目錄)中extension_dir=c:php4 增加 extension=php_sybct.dll 注意=號兩邊不要有空
格;運行php_info();,查看PHP輸出信息,若找到sybase_ct信息,證明模塊加載成功.否則,就是
你的PHP版本與本模塊不匹配.其實最簡單辦法是看有沒有什麼 X-Powered By... 信息,若有,
則模塊肯定與PHP版本不匹配!
3.正確安裝並配置好Sybase Client端,PHP連接Sybase數據庫不是憑空的,它需要Sybase Client
DLL的支持.使用SQLEDIT為Web數據庫增加一個數據服務(當然,這不是必須的,你可以使用現有
的數據服務)SybWeb,正確填寫配置參數後,存盤退出. 使用SybasePing工具,確保SybWeb服務能
ping通Sybase Server.
4.編寫PHP代碼,連接數據庫,使用sybase_pconnect("SybWeb","sa","sapass");//sapass為sa用
戶的連接密碼.Sybase會提示諸如"changed database to master..."等信息,若想屏蔽這些信
息,可在函數前加@,sybase_select_db("Your DataBase Name")函數前也應加@.
5.其它問題:
*關於非法操作
其一可能與本機有關,如Sybase Client安裝不正確,或Win9x系統有問題.你可以移植到WinNT
試試;
其二可能與Sybase Client版本有關,我使用SybaseCT Version 11.0.2編譯的本模塊,後來有網
友提供了Version 11.9.2,我將在PHP4.0.1(含)以後的版本中使用.就像MSSQL有65與70一
樣,Sybase也會有版本區分.此模塊我發給過不少國外的網友,他們使用都很正常.我想是因
為老外不像國人那麼時髦,什麼都用最新的緣故.
*關於Linux或UNIX下Sybase的連接
我沒有使用兩種系統下的Sybase,因此無法測試,但國內外都有網友使用本模塊成功的建立了與
Sybase for Lunix的連接.我想都是基於TCP/IP的,並不奇怪.不過,應注意,此時的SybWeb服務應
基於TCP/IP(NLWNSCK)而不是命名管道(NLMSNMP).
*關於Sybase SQL Any Where
有網友使用本模塊連接 Sybase SQL Any Where,這是Sybase的一種小型化的基於桌面的數據庫
系統,可能無法使用本模塊.
我使用Win98+Apache1.3.12+Sybase system 11(Client)+PHP4.0.0作開發;
數據庫為 WinNT4+Sybase system11;
Web Server為Apache1.3.12(運行於WinNT)+PHP4.0.0,暫時與數據庫 Server 同機;
使用一直正常.