仓酷云

标题: PHP编程:Linux下PHP毗连MS SQLServer的举措 [打印本页]

作者: 谁可相欹    时间: 2015-2-4 00:14
标题: PHP编程:Linux下PHP毗连MS SQLServer的举措
在相册系统的开发上,因为采用的是团队分工合作方式,更让我明白了在一个团队之中,团队成员之间的交流沟通的重要性,如果没有很好的沟通交流,成员之间的任务没有分配好。server|sqlserver   提出成绩
头几天做了一个十分奇异的项目,我公司开辟了一套基于中国联通SGIP协定的SP端短动静办事软件,供应联通130短佩服务。这套体系是Windows 2000下的,数据库采取的是微软SQLServer2000,而且已正常运转了一段工夫。而比来因为要在WEB上供应短动静用户的一些信息,就需求从WEB上读写SQLServer数据库,原本SQLServer数据库的最好伙伴应当是微软IIS ASP办事端剧本,但我公司一贯以为IIS+ASP的不乱性和平安性都不尽如意,但愿可以在Linux下用PHP剧本读写SQLServer。
剖析成绩
原本PHP剧本读写SQLServer是没有甚么成绩的,在Apache for windows和Windows IIS下可以任务的很好,普通可以经由过程ODBC或SQLServer Client毗连,这都是Windows上面现成的。然而在Linux上面没有现成的ODBC和SQLServer Client,需求咱们本人装置。
处理成绩
1、相干软件

freetds 来历:ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/freetds-0.53.tgz

这个软件可以用Linux和Unix毗连MS SQLServer和Sybase数据库。
2、装置设置装备摆设步调
第一步:编译装置freetds:

失掉freetds-0.53.tgz后

cp freetds-0.53.tgz /tmp/. (拷贝freetds包到/tmp目次)

cd /tmp (进入目次)

tar zxvf freetds-0.53.tgz (解压)

cd freetds-0.53 (进入解压后目次)

./configure Cprefix=/usr/local/freetds --with-tdsver=7.0

gmake (生成Makefile,我实验过,make也能够)

gmake install (装置)

关于下面configure我想说一下,--prefix=/usr/local/freetds是指装置到/usr/local/freetds这个目次中,--with-tdsver=7.0是指装置tds 7.0版本(最开是我没有加这个编译参数,了局依照默许编译为5.0。5.0毗连数据库的端口是4000,不是SQLServer的1433)
第二步:从头编译PHP4

./configure [--with-apxs --with-mysql...] --with-sybase=/usr/local/freetds(请注重是sybase)

make

make install

第三步:设置装备摆设freetds

vi /usr/local/freetds/etc/freetds.conf

详细设置装备摆设见该文件中的申明

例: (典范设置装备摆设)

[sqlserver]

host = sql_server_name_or_host_ip (你的SQLServer机械名字或IP地址)

port = 1433

tds version = 7.0

在这个设置装备摆设文件中可以设置装备摆设Windows域上岸或SQLServer账号上岸两种体例
第四步:设置装备摆设php.ini文件

找到 ;extension=mssql70.so

将正文;去失落成

extension=mssql70.so
第五步:在php中创立数据库毗连

$link=mssql_connect("sqlserver",$your_username,$your_password) or die (“can’t Connect to Database”);

echo $link;

在阅读器中运转下面剧本, 假如你失掉一个link号那末祝贺,你已设置装备摆设好了,假如呈现Call to undefined function: mssql_connect() 那申明细心看下面的装置设置装备摆设进程看你哪一步没有对。

注重:sqlserver称号是在/usr/local/freetds/etc/freetds.conf中界说的host参数,假如你写的IP地址,就是IP地址。

其他数据库操作参考相干mssql函数

注重,在sql语句中不撑持中文!!!
第六步:调试

假如呈现不克不及毗连,请在freetds设置装备摆设文件中找到;dump file = /tmp/freetds.log这一行,正文失落后面的分号,再履行一下测试剧本,观察/tmp/freetds.log文件,它可以告知你良多失足的信息匡助你扫除成绩。
  参加PHP开发学习,或许只是一次偶然的想法吧!只是想在走向社会之前体验、学习在一个公司或者说是项目团队之中如何去更有效的沟通、交流、共同合作,还有就是为毕业实习找工作增加伐码。
作者: 小魔女    时间: 2015-2-4 10:09
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: admin    时间: 2015-2-6 16:10
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 深爱那片海    时间: 2015-2-16 22:58
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 山那边是海    时间: 2015-3-5 11:14
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 仓酷云    时间: 2015-3-10 07:02
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: 再见西城    时间: 2015-3-17 04:58
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者: 柔情似水    时间: 2015-3-17 18:09
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
作者: 爱飞    时间: 2015-3-24 16:55
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 飘飘悠悠    时间: 2015-3-25 08:16
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 活着的死人    时间: 2015-3-27 21:09
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 乐观    时间: 2015-4-4 11:59
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 变相怪杰    时间: 2015-4-10 18:32
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 因胸联盟    时间: 2015-4-13 00:17
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 分手快乐    时间: 2015-4-15 07:12
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 不帅    时间: 2015-4-21 16:28
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 金色的骷髅    时间: 2015-4-29 22:10
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 老尸    时间: 2015-5-1 20:11
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 若相依    时间: 2015-5-1 21:10
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2