php网站设计与部署问题总结分享

  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程序。

  本文源自三合网络:http://www.7wa7.com,A5首发,转载请注明出处,谢谢!

时间: 2024-09-14 23:50:40

php网站设计与部署问题总结分享的相关文章

7款拥有超酷设计灵感的动态网站设计

在设计领域,每年都有不同的设计趋势和潮流,比如近几年的响应式设计,还有扁平化设计,都无时无刻不冲击和影响着我们设计的角度和方向.在今天这篇文章中,我们精选了一些超棒的创意网站设计,希望大家能够喜欢! Made by Fibb Made by Fibb是一个典型的扁平风格的网站,夸张的大图片及其动画效果,及其手机和触摸设备风格的菜单,还有响应式的界面设计,无一不代表了最新的网站设计的种种趋势. CREAM Real Estate 知道全景3D的幻灯移动效果是什么样滴吗? 如果没有体验过,绝对要看看

网站设计实例分享:页面简单内容丰富获用户青睐(一)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网站设计包涵了从程序设计到网站美观及全站优化,随着技术水平的不断提什与专业知识的不断融合,越来越多的具备优化技术与专业设计人员融入了互联网中,于是一大批具备美观.优化的网站诞生了,今天就用实例来说明页面简单但内容丰富的网站是如何登上搜索引擎的舞台的. 我们来看这个网站的栏目,总共栏目分为了19个小类,采用的是五号字体,栏目分类下面具备了四大新

阿Y:分享网站设计站排名优化成功心得

中介交易 SEO诊断 淘宝客 云主机 技术大厅 直递传媒的网站优化工作已经进行了一个月,今天佛山网络公司终于上到了百度第一页,佛山网站设计也在第三页,距离完成任务仅差一步之遥.说实话,我也没有料想到优化进度会这么快,可能是之前对网站所做的操作比较合理吧.下面分享下这个网站优化成功的心得. 一.网站的内部优化整合 在未接手网站之前,网站的整体布局.内部关键词布局.程序代码这几方面都存在着很大缺陷.先说网站布局和程序代码,该站采用传统的table表格进行页面排版,很多样式是可以通过调用css的方式表

B2B行业网站设计分享:网站设计制作的标准

文章描述:B2B行业网站"文字样式设计"一般标准. 当我们打开各种B2B行业网站,看到最多的就是各种文字,以各种方式表达出来,显示在访问者眼前,文字是门户类型网站最多的内容,同时文字与图片.视频是网站最重要的三种表达方式之一. B2B行业网站,更多的服务于企业的交易需求.了解行业知识的学习需求及交流需求,本文作者李学江认为,这些需求更多还是要通过文字来表达和传递,不同的字号.颜色.粗细.行距,代表了产品策划者.网站设计者所期望向网站访问者传递的信息.下面来简要讲解下在B2B行业网站设计

游戏官网设计经验分享:网站设计具体过程

文章描述:内页的设计,延续昏暗的设计风格.第一人称视角.全程的背景音乐,这一切都旨在为玩家提供一个真实环境氛围,让玩家体验更加真实.刺激. 引言: 提到横版格斗的网络游戏,大家可能最熟悉的就是腾讯代理的2D像素游戏(DNF),从08年上线到现在一直热度不减,可见在中国的游戏市场上格斗类的游戏是多么的受到玩家的热爱.随着电脑硬件的提高,游戏的画面品质得到了进一步提高.创造出高品质的横版格斗游戏成了众多游戏厂商的目标. 项目背景: <暗影之剑>是一款成人横版动作MMORPG.游戏首次将暗黑写实风格

网站设计颜色的使用经验分享

颜色的使用,这似乎是个显而易见的问题,但是由于许多人在设计网站时都忘记了这一点,因此还是要强调一下:当选择网站的颜色时,要时刻牢记"不要过度设计"这条法则.同时,还要时刻考虑品牌和主要用户.在进行颜色选择时,也需要把主要用户放在首位.如果你了解了用户的所有情况,就能使设计完全满足他们的要求. 为了让大家更加清楚明了,小编就此举例说明.例如,如果是销售成年男性用的运动用品和器材,就不应该选择粉色.黄色和蓝色等清淡的色彩,因为它们更适合婴儿用品网站.你应该借助颜色选择和其他的设计元素让用户

分享100佳精美的作品集网站设计案例

一个精美的个人作品集网站是吸引更多客户的最好方式.如果你正在建设个人作品集网站或者想重新设计的话可以参考本文收集的这些示例,相信这些精美的网站作品会带给你灵感.同时,这些网站中汇集了丰富的设计作品.素材和教程,能为你的设计带来很大的帮助. Emotions by Mike Mark Forrester Jeff Sarmiento Rawkes Darren Hoyt Spoon Graphics Dawghouse Design Studios Adaptd David Hellman Ton

虚实网站设计分享一下软文的发布顺序

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 经常有人说软文的发布时间很重要,但是没有人说过原创软文的发布次序很重要的,其实软文的发布次序和发布时间一样重要,为什么这么说呢,因为一但被人转载了,那么搜索引擎可能就不认为这是我们原创的,大家可能都知道搜索引擎认为原创的标砖,他会顺着链接去抓取,一旦没有可爬行的了,那么就不会抓取了,可能也会认为这个地方就是原创的发布地址,再换个说法就是谁先收

适合大显示器的大背景图片网站设计案例

文章描述:30个使用大背景图片的网站设计作品. 在电脑显示器越来越大和互联网速度越来越快的推动下,越来越多的设计者倾向于使用大尺寸图片作为网站的背景.在网页设计中,合理地应用大背景图片可以让网页看起来更加整体,从而使网站更加有吸引力.但在背景与其它设计元素之间寻找平衡,是一件十分重要却并不容易的事情.在本文中,将分享国外30个使用大背景图片的网站设计作品,以供欣赏借鉴. blindbarber archikon st. jonhs inze decouvrezuottawa studiotilt