top
Loading...
關于PHP與Sybase數據庫的連接與使用
問:關于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 同機;
使用一直正常.

北斗有巢氏 有巢氏北斗