DEDECMS中提示DedeTag Engine Create File False的错误的解决办法

今日升级一客户站点,遇到了一个老问题,生成栏目的时候提示“DedeTag Engine Create File False”,突然发觉这个问题竟然在以前做站的时候困扰过我多次,于是今天特意总结了一下,大致分为以下几种原因,同时对每种原因都提供了相关的解决办法。

第一种情况:站点、文件夹权限不足造成无法建立文件

这种情况的出现,一方面可能是Apache设置的读写权限较严格,另一方面原因可能是使用者通过服务器或FTP对一些文件夹设置了错误的读写权限造成。这时候,只需修改网站根目录或相关栏目的目录上修改权限为755即可解决。

解决办法:

第一步、定位出错的文件,即查找生成什么文件时出的问题。

方法:修改 include/dedetag.class.php文件,搜索”DedeTag Engine Create File False“,会找到以下代码

  1. $fp = @fopen($filename,”w”) or die(“DedeTag Engine Create File False”); 

修改成

  1. $fp = @fopen($filename,”w”) or die(“DedeTag Engine Create File False:$filename”); 

重新生成栏目或者文档时,即可提示当前出错的文件名信息。

第二步、检查是否有写入权限,windows服务器请给予写入权限,linux服务器请给予777权限。如果目录或者文件不存在,请手工建立。

常见的错误情况有:data目录没有写入权限,html静态文件目录没有写入权限,index.html首页静态文件没有写入权限。

此时在进行生成栏目或者页面HTML操作,即可顺利进行。

第二种情况:列表、频道、文章等命名规则未填写或填写错误

此种情况较为少见,因为初级用户一般不会去修改这些东西,情况可以大致分为:

(1)命名规则未填写(即为空)

解决方法:只需填好相应的规则即可,重新选择栏目类型,也可以快速自动填写。

(2)命名规则中含有非法字符

解决方法:将非法字符替换或删除。

(3)命名规则设置错误

例如:命名列表页为{typedir}/{tid}.html,这种命名方式对列表只有一页的栏目是正常的,如果列表是两页或两页以上时,由于进程冲突,生成栏目就会出现 DedeTag Engine Create File False 的提示。

解决方法:此时只需要增加{page}变量到名称中即可解决问题。

(4)生成文件的层次不对

例如设置列表文件要在列表{typedir}目录下,不能向下再有目录比如:{typedir}/list{tid}{page}.html是对的,可以生成但是如果设置为 {typedir}/list/{tid}{page}.html这样将会出错。

第三种情况:发布文章后将栏目改为了“外部链接”类型

在某个栏目里发了几篇文章,后来把这个栏目改成外连接了,更新文档时,系统还会更新这个栏目下的那几篇文章,但地址是外连接,所以无法生成文件,由此产生DedeTag Engine Create File False提示

解决方法:把栏目改回的目录,把文章删除,再改回外部链接类型。

转载请注明:代码家园 » DEDECMS中提示DedeTag Engine Create File False的错误的解决办法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)