风火家人开发记要

技术总结精华贴

Tag: DedeCMS

CMS, 原创

DedeCms创建或修改目录失败解决方法DedeTag Engine

在使用DedeCMS 发布文章生成html页面的时候,系统创建对应文件夹时提示:DedeCms创建或修改目录失败!DedeTag Engine Create File False,看了网上给到的资料基本上就是一个版本,先来看看我遇到的这个问题是怎么解决的,不保证也适合你。 我的解决方法: 这个是因为的我的配置出现的问题,只需要在后台修改下配置就可以解决这个问题了。 进入 DedeCMS后台:系统 -> 系统设置 下面 点击 系统基本参数 -> 核心设置 -> 检查 是否强制用FTP创建目录: 这项是不是选择的 是。将他修改为 否。 分析:如果强制使用FTP创建目录,可能因为权限问题而导致创建不成功,比如你们的apache 或者IIS 的用户跟FTP的用户不同。 网上给到的资料的缺陷:因为在生成文章的时候自动创建文件夹,而我们总不能每天发布文章时都去登陆上去创建文件夹再说。 下面给到网上大部分提供的解决方案(当然对于我的问题这个是无效的),还是可以参考的,可以用来排错。 来看看大部分网站上是怎么处理的: 这些其实都是服务器读写权限的问题 有两种办法 一是将服务器该站点的读写权限修改好,注意修改完站点之后,一定要关闭否则会被攻击的, 第一种办法如果不生效,不要着急,还有第二种办法,就是将栏目全部删除掉,主页文件index.html删掉注意市根目录下的,栏目在有备份的情况下删除,栏目不能生成的话,可以试试假修改方法,直接点进栏目,不修改保存即可,或者将缓存文件替换为dede默认的缓存文件,注意是栏目的缓存文件。 包括更新栏目时出现 DedeTag Engine Create File False 错误,不过还好网络上有不少解决方案,按照他们的方法修改成功了,特意转发到博客给需要的朋友参考。 版本:DEDE所有版本,DEDE_v5,V5.3,V5.5,V5.6 原因:要创建的目录或者文件没有写入权限 解决办法: 第一步,定位出错的文件,即查找生成什么文件时出的问题。 方法:修改 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首页静态文件没有写入权限。 警告:此修改操作可能会暴露程序目录结构信息,建议解决问题以后,还原程序文件。 出现了这个错误不过不是上面说的权限问题 原因:因为有个栏目里有几篇文章 后来把这个栏目改成外连接了 更新文档时 系统还会更新这个栏目下的那几篇文章 但地址是外连接 所以找不到那几篇文章 所以出了这个提示 解决:我把栏目改好原来的栏目地址,进去好把那几篇文章删除,再把栏目改回外连接 就ok了 好了,如果我的解决方法跟您需要的不是一个概念,您可以参考上面的这个资料了。 如果你感觉有用那真是太好了。 (3537)

查看全文
CMS, 原创,

也谈Ucenter接入第三方应用通信失败原因排查方法

经常遇到的ucenter 通信失败的应用, 记事狗微博,DedeCMS。 在做ucenter整合的时候经常会遇到通信失败的情况。 DedeCMS与Ucenter整合通信失败分析排查方法: 1.查看ucenter 中配置的dedecms的URL地址,key,AppID等信息是否一致.如果一致,看2. 2.加入网站的IP地址看是否能够通信成功,如果还是通信失败,看3. 3.看是否配置了.htaccess 问题,作者遇到的就是这个问题,本人在dedecms下配置了.htaccess,里面设置的重定向功能,经过排查,ucenter通信过程未能到正确地址,出现了通信失败,可以通过注释掉.htaccess来看看,如果是.htaccess 问题,在排查是哪个规则导致的吧。如果这里没有问题,在看4. 4.可能是文件权限问题。这个是一位网友提到的,但是具体哪个文件并没有说明,可以查查 /data/common.inc.php 和/include/common.inc.php 记事狗整合Ucenter通信失败问题排查方法可以参考记事狗系统如何与Ucenter整合里面已经说的很清楚了。还是几个比较重要的信息要保持一致。 这次主要是提供.htaccess 导致的ucener 通信失败的问题,因为这个在之前一直没有遇到过,所以这里提出来。 (5443)

查看全文
CMS, 原创,

修改dedecms在godaddy的linux空间读取权限问题,自动生成文件权限不正确

同事用dedecms作网站,改换成godaddy的linux的空间后,发现生成的静态文件浏览不了,好像是提示权限不对,我没有仔细看。 但问题肯定是生成文件时权限后,普通用户权限不够了,这里交给不知道如何处理的大虾们一个方法。 需要修改如下文件 include/arc.archives.class.php 找到  //循环生成HTML文件  的部分 在  $this->dtp->SaveTo($TRUEfilename); 之后加入   chmod($TRUEfilename,0755); 修改到这个只是针对单文件生成成功浏览了,但批量生成还是有问题,没关系,我们继续 找到  //创建远程文件夹  的部分 在  $this->ftp->upload($localfile, $remotefile, ‘ascii’); 之后加入 chmod($remotefile,0755); 好了,这样就可以了。 多说两句 这里的0755 前面的0一定要带的,这代表8进制,去掉权限就变了,当然也可以改成其他的数字,如 0644 ,这里是网站主可以读写,其他人只有读,权限更低些。 (1611)

查看全文