30 62 197 557 751 6 311 915 649 531 617 342 613 841 489 69 143 858 677 986 475 677 667 221 513 325 485 628 848 26 988 861 512 910 413 530 93 995 668 640 7 380 224 316 220 81 96 43 360 708
当前位置:首页 > 亲子 > 正文

解读如何考核你是否是一名合格的网编

来源:新华网 鞠紊门晚报

php网站设计与部署问题总结 本文是本来在部署一套服装类网站时遇到的问题,这些问题涉及到了php程序设计问题和php各个版本之间的差别引起的问题。特此做了个总结,希望能够对比人有所帮助,避免不必要的为问题。 1.本人遇到的第一个问题是session问题。一不细心真会让人掉入陷阱里,摸索个老半天。 本人写了个my_session_start($lifetime),除了启动一个会话外,它还完成了两个功能,一个是设定生存时间,也就是函数引入的lifetime变量;另一个是设定一个会话id,我们知道session_start()已经可以自动恢复旧的会话id了,但如果一个一个用户的cookie删除了,会话就无法恢复了,本文里是通过会员数据库里保存的session_id重新恢复到当前会话里。 问题就出在了保存my_session_start($lifetime)这个公共函数的文件里。本人的服务器上是没有php编辑器的,由于测试过程中要修改一个参数,直接使用了记事本修改这个文件。修改完之后原先没有什么问题的程序,突然一直报错了,数值改回去仍然报错,图片如下(另外再模拟的一个文件): 而且通过输出session_id(),会发现session_id不断的更改。cookie的值一都为空。PHPSESSID值无法送到客户端。我们知道session_start();这个函数在启动一个会话前会操作cookie的读取或写入,当发现cookie里保存有PHPSESSID(本人的session_name,视个人配置有所不同),就读取并恢复,如果没有,就新建一个会话id然后传送到cookie保存。图片的错误信息很明确,就是说session_start()执行前,已经有输出内容了,导致无法输出phpsessid到cookie里。但我仔细查看了my_session_start($lifetime)函数所在文件,无任何空行,无任何输出,到底是怎么回事呢。网络上找了老半天,试了很多方法都不行,最找到原因了。原来是编码搞的鬼。utf-8编码格式有分 无BOM 和 带BOM信息的,而PHP是不识别BOM头得,utf-8的bom信息是为了兼容utf-16等之后的版本的,微软自带的记事本是支持bom头得,当我用记事本修改该php文件的时候,php文件自动就添加了bom头信息,这个头信息是隐藏的,所以程序才一直提示会话启动时无法发送cookie到客户端。使用uedit将该文件转换为utf-8(无BOM)格式后问题解决。一切都是BOM头惹的祸啊。 2.跟php版本相关的问题 本人的服务器php版本是5.2版本,本人实际写程序的时候使用的是5.4版本,归根结底太追时髦了,有不认真研究php各个版本之间的差别。 首先是__DIR__常量,本人碰到的错误如下图所示, 本人的程序很多地方都有所使用这个常量,以绝对路径引用一个文件,有时候只有这样才能满足要求,本人习惯于使用这个常量,偏偏这次碰见一个php5.2的服务器,经查__DIR__魔术常量是php5.3版本才引入的,其实还有其他很多方法可以取代它,如dirname()/$_SERVER[DOCUMENT_ROOT]等等,没则只能是一个个的重改喽。 其次,session_status(),php5.4才引入的,1 代表session_write_close()调用过,代表关闭session写入,这在带框架的页面有时可以提高加载速度。 总结这次问题,php版本上不可太追时髦,尽量使用主流的版本和功能。很多时候,服务器不是我们能控制的;另外不要随便使用记事本来修改php程序。 本文源自三合网络:,A5首发,请注明出处,谢谢! 159 829 76 911 268 189 972 296 823 599 187 872 570 201 467 375 509 260 189 708 748 229 961 968 445 904 175 669 317 506 580 296 115 548 427 630 619 907 200 889 925 69 289 466 797 60 818 218 985 103

友情链接: 才清婵晴 tgb550710 yutro 爱鹭安方珍帆 鲍绽 4188269 桃怡玳航 钭巢 4813457 728253
友情链接:忻博西 kzje736096 上义颞 702719 花苏玮 dyldsvo 镒飞翻羽愿淡 碧珈蓓凤 ohjwikhtky king6