dede广告内容有长度限制

0 个评论
有个客户放了一大堆广告代码,叫了N遍让他分成几个广告 但是,对于某些人来说这比登天还难 今天再仔细查看了后台代码 DEDE程序没做任何限制 然后我想到了数据库字段的字数限制 然后进数据库看了一下 dede_myad表里的 normbody 字段是text类型的 查了一下资料 mysql的text类型有64K长度限制的,MEDIUMTEXT中型是2G,LONGTEXT大型是4G 然后通过phpmyadmin改字段类型吧,下面是自动生成的语句,估计可以直接用的 ALTER TABLE `dede_myad` CHANGE `normbody` `normbody` MEDIUMTEXT CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL   可以顺便连 过期广告 那个字段也改了 ALTER TABLE `dede_myad` CHANGE `expbody` `expbody` MEDIUMTEXT CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL
2016-03-27 / dedecms / 4,343 views浏览
阅读全文

editplus替换CSS中图片路径的正则

0 个评论
我喜欢把图片直接放在CSS文件所在目录 所以就弄了一个正则   url\([\"]?([^\"]*)\/([^\/]*).(jpg|gif|png)[\"]?\) 替换为 url("\2.\3")   这样类似这样的路径 url(../images/rank.png) 就变成了 url("rank.png")   统一了
2016-03-27 / 网站制作技术 / 3,392 views浏览
阅读全文

VPS中网站访问太慢,原来是apache日志惹的祸

0 个评论
昨晚访问正常运行了一段时间后,访问vps中的网站,明显发现很慢 重启apache和mysql没有明显改善 重启mysql还出了问题,出现一个错误提示 Timeout error occurred trying to start MySQL Daemon 然后我以为是session问题~把VPS上的session全手工删除了 结果~~~~~~~~~~~~~~~ 启动是启动了,但是网站数据全没了(表面没了,分类啥的还在) 于是进\var\lib\mysql去看了一下,数据表什么的都还在,幸好幸好 然后忽然想到了日志文件,进\var\log\httpd去一看 我靠,最大的文件100M,还有很多30~50M的 正在使用的都有30M左右,会不会是每次访问都要往这个30M大的文件中写入东西而导致apache缓慢 然后我把他们全删了~然后,重启APAChe后速度飞快 但是我们不可能天天登陆删日志啊~ 于是使用可终极手段   干脆关闭日志功能 打开Apache的/etc/httpd/conf/httpd.conf配置文件,找到以下配置信息: ErrorLog logs/error.log CustomLog logs/access.log common 请在上述两行配置代码前加“#”号注释掉   实际上不止这两句,反正是以这两个词ErrorLog、CustomLog开头的统统注释掉 整个世界又清静了~   然后再解决mysql数据全没了的问题,因为是我误删session,所以系统认为那些数据表还在使用,就不给再访问 打开万能的phpmyadmin,浏览表,看到那些表的描述是 in use ,然后选中,在底下选 修复 再提交 OK,正常了
2016-03-27 / centos / 4,387 views浏览
阅读全文

dede后台提示验证码不正确

0 个评论
因为是VPS,我是从官方下载安装的apache和php 然后我用探针差了一下,PHP版本(php_version):5.3.3 然后我修改DEDE后台验证文件login.php 发现65行$svali = strtolower(GetCkVdValue()); 这个取值为空,也就是GetCkVdValue()函数无用 在include/common.func.php找到这个函数 里面提到session 然后上网一查,有人说是php.ini配置问题   经几台机器测试,主要原因还是在php.ini的设置上。 大约900多行,有两个关于session的设置,采用默认的就可以,已经修改过的参照下面执行 ;session.save_path = "/tmp" session.cookie_path = / 本机和服务器上都测试过,修改了这两个参数后,再次登录dede,就会提示验证码不正确,改回默认,一切OK   我在/etc/php.ini中查了一下这两个参数,其中一个 session.save_path = /var/lib/php/session   这个路径果然不是默认的~ 然后找到这个文件夹~一查属性,不是777 果断改777 一切终于正常了~
2016-03-27 / dedecms / 4,271 views浏览
阅读全文

ecms7.2的showclasstemp标签如果是一级最终栏目取下级栏目会出一堆二级栏目

0 个评论
[showclasstemp]’selfinfo’,20,0,0[/showclasstemp] 例如我在某个列表模版使用了上面的代码 于是乎,有下级栏目的一切正常 但是,如果是一级栏目,而且是设置成了最终栏目,就是可以直接发文章的栏目 肯定应该是没有下级栏目的,我希望是啥都不显示 但是上面的代码会将其他一级栏目下的二级栏目显示出来 没办法,只好改源码了 打开后台 然后就可以打开e/class/t_functions.php文件 搜索sys_ShowClassByTemp函数 把大概1598行附近的$classid=0;去掉 这个世界就清静了~
2016-03-25 / ecms / 3,561 views浏览
阅读全文

ecms7.2添加栏目默认就是最终栏目

0 个评论
用的JS修改,模拟点击,这样就不用手工点了 我们增加栏目的时候,大部分都是最终栏目,每一次添加都要点一下很麻烦 所以才想到要修改   /e/admin/AddClass.php 在</body>前添加   <SCRIPT language=javascript type=text/javascript> <!– function GetRequest() {      var url = location.search; //获取url中"?"符后的字串      var theRequest = new Object();      if (url.indexOf("?") != -1) {         var str = url.substr(1);         strs = str.split("&");         for(var i = 0; i < strs.length; i ++) {            theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);         }      }      return theRequest;   } var Request = new Object(); Request = GetRequest(); window.onload=function(){ if(Request["enews"]=="AddClass"){ document.getElementById(‘islast’).click(); } } –> </SCRIPT>   当然更懒一点也可以,因为我们经常使用的是新闻模型,使用的是默认新闻模型模版,ID为1,我们就在上面代码添加自动设置默认新闻模版,于是变成了 <SCRIPT language=javascript type=text/javascript> <!– function GetRequest() {      var url = location.search; //获取url中"?"符后的字串      var theRequest = new Object();      if (url.indexOf("?") != -1) {         var str = url.substr(1);         strs = str.split("&");         for(var i = 0; i < strs.length; i ++) {            theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);         }      }      return theRequest;   } var Request = new Object(); Request = GetRequest(); window.onload=function(){ if(Request["enews"]=="AddClass"){ document.getElementById(‘islast’).click(); document.getElementById("listtempid").value="1";//列表模版 document.getElementById("newstempid").value="1";//内容页模版 document.getElementsByName("dtlisttempid")[0].value="1";//动态列表模版 } } –> </SCRIPT>   这样添加栏目只要3步,写名称、选父栏目、英文名,就可以点确定了,快就一个字我只说一次~懒人必备
2016-03-24 / ecms / 3,296 views浏览
阅读全文

ecms7.2开启伪静态后,添加栏目选动态页面

0 个评论
每一次都要选,很麻烦~所以就想办法改一下 默认就是动态页面,这样就不用每次选了 /e/admin/AddClass.php这个文件里搜索 “栏目页模式”然后在后面一行添加代码   <?php       if($enews=="AddClass")       {     $r[listdt]=1;       $r[showdt]=2;       }   ?> 就可以了
2016-03-24 / ecms / 2,633 views浏览
阅读全文

CentOS 官方默认不在对mcrypt模块 进行支持

0 个评论
原来CentOS 官方默认不在对mcrypt模块 进行支持,所以必须另想办法折腾了2个小时总算搞定,这里主要使用了Fedora的扩展库,EPEL (Extra Packages for Enterprise Linux)先分享解决过程如下: 第一步:在扩展库中查找rpm包 打开网址: http://mirrors.sohu.com/fedora-epel/6/i386/ 使用 Ctrl+F 搜索关键词“epel-release” 找到当前最新的扩展包发现最新版本为:epel-release-6-7.noarch.rpm 如下截图: 然后执行命令: [root@ptr228 ~]# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-7.noarch.rpm 见图: 注意:扩展包得不断更新的,所以需要搜索 “epel-release” 找到正确的版本,否则命令将不能执行成功。 第二步:执行命令:yum update 更行系统 见下图: 执行命令: [root@ptr228 ~]# yum update 然后就是一段时间的等待了,因为系统会更新到CentOS 最新版本有可能会时间比较长。更新完成后会有Complete! 提示 见下图: 注意这里可能会出错, Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again 处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。 第三步:执行命令 yum repolist 查看安装结果 查看是否已经有了 EPEL(Extra Packages for Enterprise Linux) 扩展包,执行命令和结果如下: 执行命令: [root@ptr228 ~]# yum repolist 见图: 如果发现了如图中所示的epel 说明已经安装成功,可以继续执行了。 第四步:执行命令: yum install php-mcrypt 安装mcrypt扩展包 执行命令: [root@ptr228 ~]# yum install php-mcrypt 见图: 可以看到已经可以安装了,输入 y 继续安装。 第五步:重启apache是扩展生效 执行命令: [root@ptr228 ~]# service httpd restart 见图: 再打开 PHPMyadmin 红色的错误提示已经没有。
2016-03-23 / centos / 3,781 views浏览
阅读全文

./configure时报错:configure: error: C++ compiler cannot create executables 。

0 个评论
问题出现在了安装libmcrypt组件包上了,当我./configure时报错:configure: error: C++ compiler cannot create executables 。后来查了一下相关资料后才发现是gcc的组件没有装全,我之前安装gcc时是通知yum方式: yum install gcc gcc++ 呵呵,这样的话还是有组件没有安装完整的。再执行一下这个命令就可以解决问题。 yum install gcc gcc-c++ gcc-g77
2016-03-23 / centos / 3,391 views浏览
阅读全文

CENTOS装VSFTP

0 个评论
常用命令service vsftpd restart 1、准备工作 yum install pam* yum install db4* 首先安装PAM(用于用户认证)和DB4(用于生成虚拟用户的用户名密码的db文件)。 2、安装vsftpd yum install vsftpd 设置vsftpd开机启动: chkconfig vsftpd on 通过chkconfig –list 查看启动项 3. 配置vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 xferlog_enable=YES xferlog_file=/etc/vsftpd/vsftpd.log xferlog_std_format=YES connect_from_port_20=YES idle_session_timeout=600 listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=ftp //这里要创建一个系统用户名为ftp的,可以先查看是否有这个用户,有了就不用创建了(一般服务器都会有),可以到下面几行去看如何操作系统用户 user_config_dir=/etc/vsftpd/virtualuser_conf *重要参数说明: anonymous_enable=NO 不允许匿名访问 local_enable=YES 本地用户可以访问,如果设置成NO的话,ftp这个系统本地用户没法进行访问了,所有的ftp客户端当然也没法进行上传下载了。 write_enable=YES #可写(可上传) xferlog_enable=YES xferlog_file=/etc/vsftpd/vsftpd.log xferlog_std_format=YES 这3项由于设置log日志,记得在/etc/vsftpd/下新建一个vsftpd.log文件。可以本地创建一个空文本改名再传上去。 guest_enable=YES #启用虚拟用户 guest_username=ftp #虚拟用户借用的系统本地用户名 user_config_dir=/etc/vsftpd/virtualuser_conf #虚拟用户的配置文件路径,所以别忘了在/etc/vsftpd/目录下新建一个virtualuser_conf文件夹 chroot_local_user=YES #是否将所有用户限制在主目录,YES为启用 NO禁用 #chroot_list_enable=YES #是否启动限制用户的名单 YES为启用  NO禁用(包括注释掉也为禁用) 可以不设置也就是禁用直接开启上面那个就可以了 #chroot_list_file=/etc/vsftpd/chroot_list #上面的用户名单 其他:系统用户操作 用户列表文件:/etc/passwd 用户组列表文件:/etc/group 查看系统中有哪些用户:cut -d : -f 1 /etc/passwd 查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 查看用户操作:w命令(需要root权限) 查看某一用户:w 用户名 查看登录用户:who 查看用户登录历史记录:last 4、配置虚拟用户 比如我要添加一个叫zhang用户,ftp客户端就使用该用户名(密码后面设置)进行上传下载,在/etc/vsftpd/virtualuser_conf新建一个名叫zhang的文件:touch zhang 。文件里面的内容为: local_root=/var/www/html write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES chmod_enable=YES #有修改文件属性的权限 virtual_use_local_privs=YES #拥有本地用户权限(上面一行才起作用) *参数说明: local_root=/home/ftpuser #该虚拟用户上传下载的根目录 write_enable=YES #可写(可上传) anon_umask=022 #掩码 接下来在/etc/vsftpd/目录新建一个记录所有客户端用户(虚拟用户)的用户名密码的文本文档: touch virtualuser_passwd.txt 里面的内容为: zhang passwd1 zhang1 passwd2 奇数行是用户名,偶数行是密码,这里建了两个虚拟用户,但是zhang1这个用户没有给设置。 接着,生成虚拟用户认证的db文件 db_load -T -t hash -f /etc/vsftpd/virtualuser_passwd.txt /etc/vsftpd/virtualuser_passwd.db 随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句 再增加以下两句 auth required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd account required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd 5、设置服务器上的目录权限 因为这里设置的上传下载的根目录为/var/www/html,所以这个文件夹的权限很重要,开始新建的时候它是root:root,属于root用户,属于root组,后来改成了root:ftp,即改成了ftp组,因为客户端进行上传下载是借助服务器上的ftp用户,ftp用户是属于ftp组的。这样能进行访问下载,但是下载有问题,各种改权限,最后直接将这个目录改成ftp:ftp所有问题都没有了,而且ftp用户对该目录具有rwx(可读可写可执行)的权限: chown -R root:ftp /var/www/html/ chmod 777 /var/www/html 假如原来是SSH上传的文件,就是root权限的,ftp用户是无权修改的,因此必须修改权限为ftp的,比如下面这个命令,才能用FTP进行修改 chown -R ftp:ftp /var/www/html/95ty.com chmod o+w /var/www/html/95ty.com o是指其它的用户,w是写的权限 //chown -R root:ftp /home/ftpuser //chmod 077 /home/ftpuser 用下面这个命令可以查看这个目录选的文件是属于那个用户和用户组 ll /var/www/html/95ty.com 最好重启下vsftp service vsftpd restart 6、测试 如果FTP里面出现553错误 1。首先确保你的FTP目录 文件是可写的,ls -l 可以查看 如果不是则 chmod 777 ftpd目录 2。使用命令getsebool -a|grep ftp 查看 ftpd_disable_trans ftp_home_dir allow_ftpd_full_access 是否为on 如果不是则使用(注意命令首字母不能大写) setsebool allow_ftpd_full_access on setsebool ftp_home_dir on setsebool ftpd_disable_trans on (这个好像不一定要,如果上面查询到有估计就要) 其他相关的设置 setsebool -P allow_ftpd_full_access on //-p是永久修改,重启也不变 setsebool allow_ftpd_full_access 1 setsebool allow_ftpd_use_cifs 1 setsebool allow_ftpd_use_nfs 1 提示如下: 500 OOPS: failed to open xferlog log file: /etc/vsftpd/vsftpd.log 解决方法: 方法一 在终端输入命令: setsebool ftpd_disable_trans 1 但是这句会出现Could not change active booleans: Invalid boolean service vsftpd restart 回车就可以 只能用方法二 service vsftpd stop rm /etc/vsftpd/vsftpd.log 然后按y删除这个文件再回车 service vsftpd start 以上的方法都不管用的时候,干脆就关闭日志功能 打开VSFTP的配置文件 /etc/vsftpd/vsftpd.conf xferlog_enable=NO改这个参数为NO就关闭日志功能了 当用ftp工具连接时,提示一下类似的错误的话,是参数后面多了空格,如anonymous_enable多了个空格 vsftpd:500 OOPS: bad bool value in config file for: anonymous_enable
2016-03-23 / centos / 3,667 views浏览
阅读全文