版本历史:

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访问配置相关推荐

  1. freebsd php 编译 mysql sql2005_问下:Freebsd下用php连接ms sql server

    你的位置: 问答吧 -> PHP -> 问题详情 问下:Freebsd下用php连接ms sql server 大家都怎么连接的,,,效率如何? 作者: james.liu 发布时间: 2 ...

  2. linux第三方串口,[原创]Linux下的第三方登录认证实现

    本文的动机来自于一个项目,即:实现linux下的刷卡登录系统.因为使用ubuntu的缘故,接到项目时的第一感觉就是改写GDM.在GDM代码差不多看完以后,发现GDM认证采用了PAM机制.这种将认证交由 ...

  3. 手机和Linux蓝牙通信,[原创]linux下手机与蓝牙的连接配置

    代码: 全选# # HCI daemon configuration file. # # HCId options options { # Automatically initialize new d ...

  4. linux中mysql与eclipse_Linux下eclipse CDT及mysql安装,c++访问mysql数据库

    5. 关于eclipse编译project 由于程序中有#include 所以需要在eclipse中加上对mysql.h的路径 项目->属性->C/C++Build -> setti ...

  5. linux nginx 安装stream,Centos7下Nginx简单搭建与stream模块简单配置

    一:Nginx安装 搭建环境:Centos 7 需要软件包:openssl.zlib.pcre.nginx (软件包下载地址个人网盘可能会失效:https://pan.baidu.com/s/1qYN ...

  6. linux教程 nfs,[原创]linux视频教程之NFS

    这次主要说一下NFS /etc/exports:这个文件就是 NFS 的配置设定档  如果没有就自己创建一个 /var/lib/nfs/xtab:这个文件则是主要的 NFS 的纪录文件!当我们的 NF ...

  7. WIN7下创建ODBC数据源到SQL Server的新数据源

    北邮计算机数据库实验四需求 此方法是用JDBC-ODBC访问数据库 (1)单击[开始]-->[控制面板]-->[ODBC] 然后打开[ODBC数据源管理器]对话框 (2)在[ODBC数据源 ...

  8. linux查看文件夹个球,[原创]linux下面的打小球游戏

    [原创]linux下面的打小球游戏 (2012-04-10 04:51:44) 标签: linux 游戏 杂谈 [原创]linux下面的打小球游戏linux下面的C编程,我还是新手,请大家别笑话. # ...

  9. 2g内存用linux的哪个版本,Linux 下安装sql server 时 2G内存限制的最新(2019-08-15) 解决方案...

    关于 sqlserver 在linux下安装时有最小内存限制的问题,网上有很多类似的说明,那些操作都是正确的,如果不成功可能 "姿势"不对. 需要注意的是:不能使用最新版本!!!  ...

  10. 不计前嫌,握手言和:Microsoft宣布新版SQL Server将同时支持Windows与Linux两大平台...

    今年三月份,微软首次宣布自旗舰产品SQL Server将支持Linux平台,给世界带来了一个巨大的惊喜.到目前为止,只有被邀请才能预览.但是微软11月17日在纽约举办的Connect开发者大会上宣布, ...

最新文章

  1. [CF843D]Dynamic Shortest Path
  2. JavaScript 技术篇-chrome利用ClipboardEvent写入剪切板,chrome写入剪切板不成功解决方法
  3. 解決memcache 有時無法連接的問題
  4. emv中的 部分匹配_【干货】EMV指标的精准运用
  5. cbrgen和setdest数据流生成
  6. How change in Console is rendered back into UI
  7. pip安装OpenCV
  8. Hadoop日志分析工具——White Elephant
  9. java collection源码_jdk源码阅读Collection实例分析
  10. 浏览器怪异模式和标准模式之间的区别 DTD
  11. linux之登录式shell和非登录式shell
  12. 存储盟主将要退位云计算会是最后盟主?
  13. 数模美赛分享(时间安排+获奖技巧+比赛思路)
  14. Cent 6.5中安装NFS、Rpcbind 实现共享主机文档。
  15. 微信小程序商城毕业设计毕设作品(8)毕业设计论文
  16. Mysql授权允许远程访问
  17. sftp服务器配置管理系统,配置sftp服务器
  18. 选择Spring集成好的Spring Cloud Zuul方便更快
  19. java读写excel,解决poi包中没有org.apache.poi.ss.usermodel.CellType的问题
  20. 毫米波雷达测距/测速原理介绍_小七自学笔记

热门文章

  1. JSONObject.fromObject 找不到这个方法或是报错
  2. java 代码走查_java代码走查计划书
  3. 芒果db怎么连mysql_MongoDB 芒果数据库的使用
  4. CorelDRAWX4SP2简体中文正式版精简增强版
  5. C#代码整洁之道:代码重构与性能提升
  6. 大数据工程师成长之路
  7. Ubuntu系统安装Java JDK和HDFView
  8. HDFView 把 JPG 图片转换成 HDF5 格式文件
  9. MATLAB绘图函数fplot详解
  10. 推荐一个基于Spring Boot + Vue的实习管理系统