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访问配置相关推荐
- freebsd php 编译 mysql sql2005_问下:Freebsd下用php连接ms sql server
你的位置: 问答吧 -> PHP -> 问题详情 问下:Freebsd下用php连接ms sql server 大家都怎么连接的,,,效率如何? 作者: james.liu 发布时间: 2 ...
- linux第三方串口,[原创]Linux下的第三方登录认证实现
本文的动机来自于一个项目,即:实现linux下的刷卡登录系统.因为使用ubuntu的缘故,接到项目时的第一感觉就是改写GDM.在GDM代码差不多看完以后,发现GDM认证采用了PAM机制.这种将认证交由 ...
- 手机和Linux蓝牙通信,[原创]linux下手机与蓝牙的连接配置
代码: 全选# # HCI daemon configuration file. # # HCId options options { # Automatically initialize new d ...
- linux中mysql与eclipse_Linux下eclipse CDT及mysql安装,c++访问mysql数据库
5. 关于eclipse编译project 由于程序中有#include 所以需要在eclipse中加上对mysql.h的路径 项目->属性->C/C++Build -> setti ...
- linux nginx 安装stream,Centos7下Nginx简单搭建与stream模块简单配置
一:Nginx安装 搭建环境:Centos 7 需要软件包:openssl.zlib.pcre.nginx (软件包下载地址个人网盘可能会失效:https://pan.baidu.com/s/1qYN ...
- linux教程 nfs,[原创]linux视频教程之NFS
这次主要说一下NFS /etc/exports:这个文件就是 NFS 的配置设定档 如果没有就自己创建一个 /var/lib/nfs/xtab:这个文件则是主要的 NFS 的纪录文件!当我们的 NF ...
- WIN7下创建ODBC数据源到SQL Server的新数据源
北邮计算机数据库实验四需求 此方法是用JDBC-ODBC访问数据库 (1)单击[开始]-->[控制面板]-->[ODBC] 然后打开[ODBC数据源管理器]对话框 (2)在[ODBC数据源 ...
- linux查看文件夹个球,[原创]linux下面的打小球游戏
[原创]linux下面的打小球游戏 (2012-04-10 04:51:44) 标签: linux 游戏 杂谈 [原创]linux下面的打小球游戏linux下面的C编程,我还是新手,请大家别笑话. # ...
- 2g内存用linux的哪个版本,Linux 下安装sql server 时 2G内存限制的最新(2019-08-15) 解决方案...
关于 sqlserver 在linux下安装时有最小内存限制的问题,网上有很多类似的说明,那些操作都是正确的,如果不成功可能 "姿势"不对. 需要注意的是:不能使用最新版本!!! ...
- 不计前嫌,握手言和:Microsoft宣布新版SQL Server将同时支持Windows与Linux两大平台...
今年三月份,微软首次宣布自旗舰产品SQL Server将支持Linux平台,给世界带来了一个巨大的惊喜.到目前为止,只有被邀请才能预览.但是微软11月17日在纽约举办的Connect开发者大会上宣布, ...
最新文章
- [CF843D]Dynamic Shortest Path
- JavaScript 技术篇-chrome利用ClipboardEvent写入剪切板,chrome写入剪切板不成功解决方法
- 解決memcache 有時無法連接的問題
- emv中的 部分匹配_【干货】EMV指标的精准运用
- cbrgen和setdest数据流生成
- How change in Console is rendered back into UI
- pip安装OpenCV
- Hadoop日志分析工具——White Elephant
- java collection源码_jdk源码阅读Collection实例分析
- 浏览器怪异模式和标准模式之间的区别 DTD
- linux之登录式shell和非登录式shell
- 存储盟主将要退位云计算会是最后盟主?
- 数模美赛分享(时间安排+获奖技巧+比赛思路)
- Cent 6.5中安装NFS、Rpcbind 实现共享主机文档。
- 微信小程序商城毕业设计毕设作品(8)毕业设计论文
- Mysql授权允许远程访问
- sftp服务器配置管理系统,配置sftp服务器
- 选择Spring集成好的Spring Cloud Zuul方便更快
- java读写excel,解决poi包中没有org.apache.poi.ss.usermodel.CellType的问题
- 毫米波雷达测距/测速原理介绍_小七自学笔记