溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Dreamweaver正則表達(dá)式徹底解決zencart中的Session Cookie報(bào)錯(cuò)、XML解析錯(cuò)誤以及空白

發(fā)布時(shí)間:2021-10-18 11:12:51 來源:億速云 閱讀:160 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家分享的是有關(guān)如何使用Dreamweaver正則表達(dá)式徹底解決zencart中的Session Cookie報(bào)錯(cuò)、XML解析錯(cuò)誤以及空白的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。


zencart可能的錯(cuò)誤如下:
1)Session\Cookie報(bào)錯(cuò),比如:
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
原因:這個(gè)錯(cuò)誤是zencart在處理函數(shù)session-start()、cookie()、header()之前已經(jīng)有輸出,由于index.php范圍太廣,很難確定是哪個(gè)文件報(bào)錯(cuò),尤其是設(shè)置一些SEO。
2)、XML解析錯(cuò)誤
XML解析錯(cuò)誤:xml處理指令不在實(shí)體的開始部分
位置:http://www.mydalle.com/index.php?main_page=rss_feed&feed=new_products
行:8,列:1:<?xml version="1.0" encoding="utf-8"?>
^
原因:這個(gè)錯(cuò)誤是zencart裝了rss feed插件后調(diào)用rss時(shí)在輸出XML頭部定義時(shí)已經(jīng)有空行或者其他輸出了,也可能和1)是差不多為同一個(gè)錯(cuò)誤,由于一些代碼不規(guī)范,禁止輸出header前面空行等也不是最好的解決方法。
網(wǎng)上有介紹刪除includes/languages/english.php最后的兩個(gè)空行和刪除includes/languages/english/meta_tags.php最后的空行,但是如果其他插件以及源代碼等產(chǎn)生了空行,問題依然沒有解決,這樣,就不是火狐的問題,IE也一樣的。
又有人說找到/includes/classes/rss_feed.php文件把<?xml version="1.0" encoding="utf-8"?>這一行$feedContent的變量值設(shè)置為空,其實(shí),這是錯(cuò)誤的解決辦法,前面的空行還是存在,錯(cuò)誤還是存在,就算運(yùn)氣好解決了,但解決的不徹底就像定時(shí)炸彈。
3)、空白頁
原因:一般產(chǎn)生于首頁或者購物車Add To Cart等頁面,這個(gè)錯(cuò)誤也很可能是由于空行引起的錯(cuò)誤。

從上面可以看出,這類錯(cuò)誤最根本的原因就是:
函數(shù)session-start()、cookie()、header()之前已經(jīng)有輸出,引起嚴(yán)重的錯(cuò)誤。但PHP的報(bào)錯(cuò)卻找不到到底空行從哪里來。
我的辦法是用Dreamweaver正則表達(dá)式解決這一問題,而且目前得以徹底。
我用的是Dreamweaver,只要點(diǎn)編輯--查找和替換,然后選文件夾,只需要處理includes文件夾就能解決這一問題。然后選源代碼,而且選中使用正則表達(dá)式的復(fù)選框。最后選擇替換全部。
方法如下:
第一步,用正則表達(dá)式刪除所有空白行(其實(shí)這一步不一定要做,我只是為了規(guī)范和節(jié)省代碼)
要把
\n[\s| ]*\r
全部替換為
\n
第二步,用正則表達(dá)式刪除首尾空白行(這一步必須做,就是刪除產(chǎn)生錯(cuò)誤的輸出。)
^[\s| ]*\n|\n[\s| ]*$
全部替換為

(替換為的填寫框什么都不要填就可以了)
注意,正則表達(dá)式不要多了空格等,可以先用一個(gè)文件進(jìn)行測(cè)試一下。最后替換之前備份一次。
以上兩步,做好后錯(cuò)誤解決。我是把includes里的文件替換后就可以了,其他文件沒有處理,大家的情況可能不太一樣。
后來,經(jīng)過我排查,原來是templates這個(gè)文件夾的問題,templates是我們經(jīng)常改動(dòng)的,在所難免。

感謝各位的閱讀!關(guān)于“如何使用Dreamweaver正則表達(dá)式徹底解決zencart中的Session Cookie報(bào)錯(cuò)、XML解析錯(cuò)誤以及空白”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI