今天更新網站時dedecms系統時,遇到一個問題:DedeTag Engine Create File False  出現這樣的提示。

其實這也不算是什麼錯誤,我個人覺得最重要的一點就是根目錄下沒有給寫許可權。當然,我用的是Linux系統。我直接給了777許可權之後就可以了。

之後在網上看到了一些答案,也貼在這裡。希望對有需要的朋友有所幫助。

第一種情況:站點、資料夾許可權不足造成無法建立檔案

這種情況的出現,一方面可能是Apache設定的讀寫許可權較嚴格,另一方面原因可能是使用者通過伺服器或FTP對一些資料夾設定了錯誤的讀寫許可權造成。這時候,只需修改網站根目錄或相關欄目的目錄上修改許可權為755即可解決。

解決辦法:
第一步、定位出錯的檔案,即查詢生成什麼檔案時出的問題。
方法:修改 include/dedetag.class.php檔案,搜尋”DedeTag Engine Create File False“,會找到以下程式碼
$fp = @fopen($filename,”w”) or die(“DedeTag Engine Create File False”);
修改成
$fp = @fopen($filename,”w”) or die(“DedeTag Engine Create File False:$filename”);

重新生成欄目或者文件時,即可提示當前檔案資訊。
第二步、檢查是否有寫入許可權,windows伺服器請給予寫入許可權,linux伺服器請給予777許可權。如果目錄或者檔案不存在,請手工建立。
常見的錯誤情況有:data目錄沒有寫入許可權,html靜態檔案目錄沒有寫入許可權,index.html首頁靜態檔案沒有寫入許可權。

此時在進行生成欄目或者頁面HTML操作,即可順利進行。

第二種情況:列表、頻道、文章等命名規則未填寫或填寫錯誤

此種情況較為少見,因為初級使用者一般不會去修改這些東西,情況可以大致分為:

命名規則未填寫(即為空)

  • 解決方法:只需填好相應的規則即可,重新選擇欄目型別,也可以快速自動填寫。
  • 命名規則中含有非法字元
    解決方法:將非法字元替換或刪除。
  • 命名規則設定錯誤
    例如:命名列表頁為{typedir}/{tid}.html,這種命名方式對列表只有一頁的欄目是正常的,如果列表是兩頁或兩頁以上時,由於程序衝突,生成欄目就會出現 DedeTag Engine Create File False 的提示。
    解決方法:此時只需要增加{page}變數到名稱中即可解決問題。
  • 生成檔案的層次不對
    例如設定列表檔案要在列表{typedir}目錄下,不能向下再有目錄比如:{typedir}/list{tid}{page}.html是對的,可以生成但是如果設定為 {typedir}/list/{tid}{page}.html這樣將會出錯

第三種情況:釋出文章後將欄目改為了“外部連結”型別

在某個欄目裡發了幾篇文章,後來把這個欄目改成外連線了,更新文件時,系統還會更新這個欄目下的那幾篇文章,但地址是外連線,所以無法生成檔案,由此產生DedeTag Engine Create File False提示

解決方法:把欄目改回的目錄,把文章刪除,再改回外部連結型別。

好了,也就差不多這些了。有什麼問題可以給我留言!