日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux php adodb,【原创】Linux下php使用adodb对sql Server访问配置

發布時間:2023/12/14 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux php adodb,【原创】Linux下php使用adodb对sql Server访问配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

版本歷史:

v.1.0, nanlovor, 2009/02/27,創建

文檔概要說明:

本文檔主要說明了在linux下使用php庫adodb對sql server進行訪問時的配置說明。

相關文檔:

1.概述

linux下的php對sqlserver存儲過程的訪問,有個比較嚴重的bug,就是如果想要同時獲得返回值和結果集時,linux下php提供的mssql擴展是有問題的。這影響了我們很多對原來神經系統功能向linux web平臺上的移植,也就是無法重用許多茂哥的存儲過程。現在找到了一條途徑,利用adodb的接口,我自己封裝了一套較為簡單的接口,可以在linux下對sqlserver存儲過程訪問,多返回值+多結果集情況均適用,能夠正確返回。

2. freetds的安裝

如果php要采用底層freetds訪問sqlServer中多返回集和多返回值的存儲過程,那么需要安裝freetds的0.82版本(原來我們采用的是freetds的0.64版本,在php調用sqlServer的多返回值+多返回集情況下是有問題的)

1、刪除原來版本

如果已經安裝有原來的freetds-0.64,最好刪除原有的版本

#cd freetds-0.64

#make uninstall

如果沒有原有的freetds-0.64的安裝目錄已經找不到了,則直接

#mv /usr/local/freetds /usr/local/freetds-0.64 (假設原來freetds安裝在/usr/local/freetds下)

2、安裝新版本

# tar xvfz freetds-stable.tgz

# cd freetds-0.82

# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib

# make

# make install

(注意,以下操作很重要,否則,php會檢測不到freetds的目錄):由于PHP檢測其安裝目錄的時候有些問題;因此,需要檢查/user/local/freetds/lib/libtds.a和/usr/local/freetds/include/tds.h兩個文件是否存在,如果不存在,則

#touch /usr/local/freetds/lib/libtds.a

#touch /usr/local/freetds/include/tds.h

創建兩個空文件。

3、配置freetds.conf

#vim /usr/local/freetds/etc/freetds.conf

增加

[serviceName] #服務名

host =?**.**.**.**#(數據庫主機地址)

port = 1433

tds version = 8.0

client charset = GBK

4、如果原來的系統已經有了銀聯接口,那么就不需要重新編譯php了,直接重新啟動Apache即可;

#service httpd restart

3.重新編譯php,添加銀聯接口

1、準備好銀聯給予的一個程序包php.rar

銀聯接口使用環境:在linux環境下(內核版本號:2.6.20-1.2320.fc5smp),Apache2(版本號為:2.2.2),PHP5(版本號為:5.2.5)下嘗試使用PHP頁面調用成功。

我們提供如下文件:

2、在PHP的安裝包解開的目錄下(本例子為:php-5.2.5):

進入ext的目錄,將chinapay.def復制到這個目錄下,使用ext_skel來生成自動擴展的框架。

命令方式為:

#./ext_skel --extname=chinapay --proto=chinapay.def

3修改ext/chinapay/目錄下的config.m4文件,將如下內容的前面"dnl"刪除,保存文件:

dnl PHP_ARG_ENABLE(chinapay, whether to enable chinapay support,

dnl Make sure that the comment is aligned:

dnl [--enable-chinapayEnable chinapay support])

4修改ext/chinapay/目錄下的chinpay.c和php_chinapay.h文件。文件內容見樣例。對于chinapay.php文件可以用來測試是否能夠正常調用簽名方法(在編譯完成后可以使用:/usr/local/php-5.2.5/sapi/cli/php -f chinapay.php來運行該PHP文件,驗證是否成功)。

5退到ext的上一層目錄

6使用./buildconf --force

7使用命令:

#./configure --with-apxs2=/usr/sbin/apxs --with-mysql --with-zlib-dir --with-bz2 --with-libxml-dir --with-gd --with-ttf --enable-mbstring --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-oci8=/opt/oracle --without-sqlite --with-mssql=/usr/local/freetds --enable-chinapay --enable-soap

8修改Makefile文件,找到EXTRA_LIBS,在最后加入-L/usr/local/lib -lnpc

/usr/local/lib為libnpc.so所在的目錄。

9使用make

10使用make install.

注意:make的時候如果仍然找不到libnpc.so的話,可以采取下面措施:進入到/etc/ld.so.conf.d下,寫入一個名為chinapay.conf的文件,內容為/usr/local/lib。表示so的搜索路徑。然后運行命令:ldconfig

4.adodb的安裝和配置

將svn目錄中的include/db/adodb整個目錄放到php中配置的頭文件目錄下例如

/var/www/html/include/db/

# cp -R adodb/var/www/html/include/db/

將GenericAdoMssqlDB放到/var/www/html/include/db/中,該文件為對adodb接口的封裝

# cp GenericAdoMssqlDB/var/www/html/include/db/

總結

以上是生活随笔為你收集整理的linux php adodb,【原创】Linux下php使用adodb对sql Server访问配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。