Dreamweaver正则表达式彻底解决zencart中的Session Cookie报错、XML解析错误以及空白

所属分类: 网页制作 / Dreamweaver 阅读数: 1078
收藏 0 赞 0 分享
因此,目前我们商城还是采用原来的zencart1.38a的版本,而没有升级到最新的zencart1.39h。
今天,我要讲的是这个版本最容易出错也最不好找出错误的错误,网上很多帖子都围绕这个问题展开讨论,但是,解决的不够彻底,没找到最好的通用的解决方法罢了。
zencart可能的错误如下:
1)Session\Cookie报错,比如:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\web\Apache\mydalle\index.php:1) in E:\web\Apache\mydalle\functions\sessions.php on line 108
原因:这个错误是zencart在处理函数session-start()、cookie()、header()之前已经有输出,由于index.php范围太广,很难确定是哪个文件报错,尤其是设置一些SEO。
2)、XML解析错误
XML解析错误:xml处理指令不在实体的开始部分
位置:http://www.mydalle.com/index.php?main_page=rss_feed&feed=new_products
行:8,列:1:<?xml version="1.0" encoding="utf-8"?>
^
原因:这个错误是zencart装了rss feed插件后调用rss时在输出XML头部定义时已经有空行或者其他输出了,也可能和1)是差不多为同一个错误,由于一些代码不规范,禁止输出header前面空行等也不是最好的解决方法。
网上有介绍删除includes/languages/english.php最后的两个空行和删除includes/languages/english/meta_tags.php最后的空行,但是如果其他插件以及源代码等产生了空行,问题依然没有解决,这样,就不是火狐的问题,IE也一样的。
又有人说找到/includes/classes/rss_feed.php文件把<?xml version="1.0" encoding="utf-8"?>这一行$feedContent的变量值设置为空,其实,这是错误的解决办法,前面的空行还是存在,错误还是存在,就算运气好解决了,但解决的不彻底就像定时炸弹。
3)、空白页
原因:一般产生于首页或者购物车Add To Cart等页面,这个错误也很可能是由于空行引起的错误。

从上面可以看出,这类错误最根本的原因就是:
函数session-start()、cookie()、header()之前已经有输出,引起严重的错误。但PHP的报错却找不到到底空行从哪里来。
我的办法是用Dreamweaver正则表达式解决这一问题,而且目前得以彻底。
我用的是Dreamweaver,只要点编辑--查找和替换,然后选文件夹,只需要处理includes文件夹就能解决这一问题。然后选源代码,而且选中使用正则表达式的复选框。最后选择替换全部。
方法如下:
第一步,用正则表达式删除所有空白行(其实这一步不一定要做,我只是为了规范和节省代码)
要把
\n[\s| ]*\r
全部替换为
\n
第二步,用正则表达式删除首尾空白行(这一步必须做,就是删除产生错误的输出。)
^[\s| ]*\n|\n[\s| ]*$
全部替换为

(替换为的填写框什么都不要填就可以了)
注意,正则表达式不要多了空格等,可以先用一个文件进行测试一下。最后替换之前备份一次。
以上两步,做好后错误解决。我是把includes里的文件替换后就可以了,其他文件没有处理,大家的情况可能不太一样。

后来,经过我排查,原来是templates这个文件夹的问题,templates是我们经常改动的,在所难免。

大家有什么意见,也可以给我留言,谢谢!
更多精彩内容其他人还在看

Dreamweaver怎么添加背景音乐?dw添加声音文件的方法

Dreamweaver怎么添加背景音乐?想让网页打开就会有歌声出现,该怎么设置呢?今天我们就来看看给网页添加声音文件的详细方法,图文教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Dreamweaver中CSS面板该怎么设置?

Dreamweaver中CSS面板该怎么设置?Dreamweaver中新建的网页需要使用CSS面板设置摆弄狂,字体,背景颜色等等各种参数,该怎么设置呢?下面我们就来看看CSS面板的使用方法
收藏 0 赞 0 分享

Dreamweaver编辑网页预览的时候显示乱码该怎么办?

Dreamweaver编辑网页预览的时候显示乱码该怎么办?Dreamweaver做网站的时候,网页出现了乱码,无论是预览还是发布出来都是乱码,出现这个状况我们需要在网页编码里面加上声明编码的meta信息,详细解决办法请看下文
收藏 0 赞 0 分享

Dreamweaver浏览器测试图文教程

这篇教程主要是向脚本之家的朋友分享Dreamweaver浏览器测试方法,教程真的很不错,很值得大家学习,推荐过来,一起来学习吧
收藏 0 赞 0 分享

Dreamweaver怎么添加文本?怎么设置文本?

文本行为,就是网页中的文本有行为,用的最多的又状态栏文本和文本域文本,尤其是文本域文本是最常用到的,那么Dreamweaver怎么添加文本?怎么设置文本?下面小编就为大家详细介绍一下,来看看吧
收藏 0 赞 0 分享

Dreamweaver中怎么让html网页中的table边框细线显示?

Dreamweaver中怎么让html网页中的table边框细线显示?Dreamweaver中插入表格默认是宽边框的,看上去很难看,该怎么将边框设置成细线呢?请看下文详细介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

DW cc 2015快捷键该怎么导出/修改/删除?

DW cc 2015快捷键该怎么导出、修改、删除?dw中有很多快捷键方便我们操作,但是有时候自己设置的快捷键项导出来以后备用,该怎么办呢?如果想修改或删除其中一个或多个快捷键又该怎么办呢?请看下文详细介绍
收藏 0 赞 0 分享

Dreamweaver怎么进行批量文件搜索指定内容?

Dreamweaver怎么进行批量文件搜索指定内容?Dreamweaver中的文件很多,想要查找文件很不容易,该怎么才能快速的进行批量查找文件的?下面我们来看看Dreamweaver文本查找功能的使用方法
收藏 0 赞 0 分享

怎么格式化html代码? Dreamweaver格式化html代码的技巧

怎么格式化html代码?Dreamweaver编辑网页的时候,发现代码格式很乱,看起来很费劲,该怎么一键格式化呢?下面我们就来看看Dreamweaver格式化html代码的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Dreamweaver CS6制作一个新闻网页首页的实例教程

Dreamweaver CS6制作网页很方便,为了方便学习我们我们举了一个实际的例子,使用Dreamweaver CS6做了一个简单的网页,非常简单,适合新手学习,需要的朋友可以参考
收藏 0 赞 0 分享
查看更多