phpcms發布與生成內容頁面空白的解決辦法
2014/10/14 技術文章評論:暫無評論瀏覽:
想換個CMS來用,所以新裝了幾個CMS系統,最后選定了PHPCMS。倒不是因為它非常優秀,而是因帝國的那種標簽不太喜歡。順便提一下,帝國CMS的欄目自定義字段,我覺得很好,如果用來做一個分類性的欄目,分類自身的屬性可以自定義字段來實現,像一些游戲網站分區就很方便了。還是轉回正題,使用PHPCMS創建好欄目,正要添加內容的時候,這時問題來了,彈出的添加內容頁一片空白什么也沒有。網上查了一下資料,有說是mod security的問題,也有說是緩存讀不到的問題。按網上說的幾種方法都不太見效,搞了好久也沒弄好。
網上的教程有提到用本地安裝好的PHPCMS緩存文件來覆蓋到FTP空間上的文件,文件為caches\caches_model\caches_data\content_form.class.php ,這個方法經過測試是有效的,但很不幸的是只要你刷新緩存,那么問題又出現了,發布文章還是空白一片,治標不治本!總不能每次刷新都上傳一次,得多辛苦呀。網上也查到另一個方法,刪去video模型,這種閹割了系統功能的方法,我覺得這不會是最優的解決的辦法。
即然是緩存,總會是什么地方生成出來的,而且是生成后才出現了問題,那么錯誤的源頭一定是生成的地方。再打開一次添加內容頁面,然后下載error_log查看最后一行是的錯誤如下(某些地方我用*代替)。
“[14-Oct-2014 15:47:49 Etc/GMT-8] PHP Parse error: syntax error, unexpected ”<SCRIPT LANGUAGE=”JavaScript”‘ (T_ENCAPSED_AND_WHITESPACE) in /home/**/public_html/***.com/caches/caches_model/caches_data/content_form.class.php on line 521”
下載“content_form.class.php”查看521附近的代碼,是一個函數:function video($field, $value, $fieldinfo) ,結合網上別人所說的,問題都指向video模型。剛開始使用phpcms,說真的還不知道它的目錄在哪,當然百度一下,得到:phpcms\modules\content\fields\video。它的下面共有7個文件,查看了一下form.inc.php的開頭正是function video($field, $value, $fieldinfo),從FTP上下載與本地的對比來看,少了一大載,應該是上傳不全。FTP上傳覆蓋后它依然一樣少了后部分,搞不懂為什么,只好用在線編輯粘進去。刷新一下問題就解決了。
刷新一下,接下來生成內容頁的時候,又蛋疼了,沒法生成。又用上面的方法追查了一遍,報錯的是緩存中的content_output.class.php,同樣方法用在線編輯粘了output.inc.php保存,生成成功!刷新緩存也不會現出現問題了。
總結一下,問題不是出現在phpcms上,而是我用的是國外的服務器,傳輸過程中造成了缺失。