今天更新网站时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提示
解决方法:把栏目改回的目录,把文章删除,再改回外部链接类型。