愤怒的大鸟 发表于 2015-2-4 00:15:26

PHP网页编程之Linux 下 PHP 毗连 MS SQLServer 的举措...

exit来实现结束后面的PHP语句的执行,缩小调试范围,特别是数据库交互的程序,先输出个SQL语句看看,对了,再分析怎么会插入/删除不成功呢?这样对查错很有帮助。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
详细设置装备摆设见该文件中的申明
例: (典范设置装备摆设)

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文件,它可以告知你良多失足的信息匡助你扫除成绩。学校并没有那么多的时间可以让我们在实际开发上面。

爱飞 发表于 2015-2-4 10:15:12

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

愤怒的大鸟 发表于 2015-2-5 08:54:19

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

简单生活 发表于 2015-2-12 00:10:49

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

小魔女 发表于 2015-3-2 20:30:57

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

透明 发表于 2015-3-7 09:31:30

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

灵魂腐蚀 发表于 2015-3-13 04:02:38

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

飘飘悠悠 发表于 2015-3-17 12:09:28

做为1门年轻的语言,php一直很努力。

谁可相欹 发表于 2015-3-24 09:35:11

写的比较杂,因为我也是个新手,不当至于大家多多指正。

莫相离 发表于 2015-4-4 03:19:54

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

第二个灵魂 发表于 2015-4-7 01:28:56

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

飘灵儿 发表于 2015-4-17 06:42:08

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

金色的骷髅 发表于 2015-4-24 18:16:26

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

海妖 发表于 2015-4-28 14:19:41

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

只想知道 发表于 2015-5-7 03:29:35

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

再见西城 发表于 2015-6-11 21:12:59

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

蒙在股里 发表于 2015-6-21 19:24:50

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

乐观 发表于 2015-6-30 18:45:33

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

小妖女 发表于 2015-7-6 21:47:32

做为1门年轻的语言,php一直很努力。

变相怪杰 发表于 2015-7-9 18:31:01

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
页: [1]
查看完整版本: PHP网页编程之Linux 下 PHP 毗连 MS SQLServer 的举措...