GVKun编程网logo

PHPCMS V9网站管理系统内容页评述模块伪静态的实现(网站伪静态规则)

1

本文将带您了解关于PHPCMSV9网站管理系统内容页评述模块伪静态的实现的新内容,同时我们还将为您解释网站伪静态规则的相关知识,另外,我们还将为您提供关于(转)对帝国cms、dedecms、phpcm

本文将带您了解关于PHPCMS V9网站管理系统内容页评述模块伪静态的实现的新内容,同时我们还将为您解释网站伪静态规则的相关知识,另外,我们还将为您提供关于(转)对帝国cms、dedecms、phpcms、discuz、phpwind、xiuno负载测试总结、CMS系统:PHPCMS V9 /phpcms/modules/member/index.php phpcms注入漏洞修复补丁、phpcms v9 tag 标签页输出缩略图标签、phpcms v9 上传到空间出_无需整理的实用信息。

本文目录一览:

PHPCMS V9网站管理系统内容页评述模块伪静态的实现(网站伪静态规则)

PHPCMS V9网站管理系统内容页评述模块伪静态的实现(网站伪静态规则)

PHPCMS V9网站管理系统内容页评论模块伪静态的实现
PHPCMS V9评论伪静态是建立在listinfo支持伪静态规则的基础上才能实现的,所以我们只要熟练学习操作熟练使用listinfo,就能在phpcms的任何页面实现伪静态分页了,下面我们就开始逐步讲解PHPCM V9网站管理系统内容页的评论伪静态的详细实现方法。
一、评论模块伪静态设置

1、首先在后台->扩展->url规则里添加一个新的规则用于评论模块,如下面所示:

{$commentid}_{$page}.html  添加完成后记住前面的id号,比如31。

2、本来PC标签支持urlrule呢,后来不支持了,只好改代码了,于是打开文件phpcms/modules/comment/index.php找到:

include template(''comment'', ''list'');   在它上面添加几行用于读取urlrule和从评论表中调用评论数据,对了,评论表是带分表的。

       $page = intval($_GET[''page'']);  
       $page = max($page,1);  
       $urlrules = getcache(''urlrules'',''commons'');  
       $urlrule = $urlrules[31];//调用url规则  
       $pagesize = 10; //分页大小  
       $comment_db = pc_base::load_model(''comment_model'');  
       $comment_data_db = pc_base::load_model(''comment_data_model'');  
       $comment = $comment_db->get_one(array(''commentid''=>$commentid, ''siteid''=>$siteid));  
       if ($comment){  
       $comment_data_db->table_name($comment[''tableid'']);  
       $comment_info = $comment_data_db->listinfo(Array(''commentid''=>$commentid,''status''=>1) , ''id desc'', $page ,$pagesize,'''',''10'',$urlrule,Array(''commentid''=>$commentid));  
       $pages = $comment_data_db->pages;  
       }    
3、下面就就改模版了,改模版其实就是改一下那个pc标签,只留下循环那里就可以了, 就是把那个调用评论数据的标签改改, 删掉这个文件phpcmstemplatesdefaultcommentlist.html里的:

{pc:comment action="lists" commentid="$commentid" siteid="$siteid" page="$_GET[page]" hot="$hot" num="20"}  
和它对应的那个:
{/pc} 
然后把循环语句:

{loop $data $r}  
改成:

{loop $comment_info $r}  
把分页标签:

{$pages} 
 改成:
{str_replace("_0.html","_1.html",$pages)}  
4、最后在.htaccess文件里加入以下代码:

RewriteRule ^content_(.*)_([0-9]+).html index.php?m=comment&c=index&a=init&commentid=content_$1&page=$2       
ok,现在就大功告成了,显示出来的网址是:
  /content_9-1-1_2.html

二、TAG模块伪静态设置

1、在后台->扩展->url规则里添加一个新的规则用于评论模块,如下面所示:

{$tag}_{$catid}_{$page}.html   添加完成后记住前面的id号,比如32。

2、打开phpcms/modules/content/tag.php文件,找到:
$total = $this->db->number;    //这一行往上面添加以下代码:

$siteid = $this->categorys[$catid][''siteid''];  
$siteurl = siteurl($siteid);  
$this->db->set_model($modelid);  
$page = $_GET[''page''];  
$urlrules = getcache(''urlrules'',''commons'');  
$urlrule = $urlrules[32];//调用url规则  
$datas = $infos = array();  
$infos = $this->db->listinfo("`keywords` LIKE ''%$tag%''",''id DESC'',$page,25,'''',''9'',$urlrule,Array(''catid''=>$catid,''tag''=>urlencode($tag)));       
//www.software8.co
3、修改模板,打开phpcmstemplatesdefaultcontentshow.html,

找到:

{APP_PATH}index.php?m=content&c=tag&catid={$catid}&tag={urlencode($keyword)}       
改成:
{APP_PATH}{urlencode($keyword)}_{$catid}_1.html      
打开phpcmstemplatesdefaultcontenttag.html,把分页标签:

{$pages}        
改成:
{str_replace("_0.html","_1.html",$pages)}  

4、在.htaccess文件里加入以下代码:

RewriteRule ^(.*)_([0-9]+)_([0-9]+).html index.php?m=content&c=tag&catid=$2&tag=$1&page=$3       
最后显示出来的URL样式如下:

  /关键词_6_1.html

小结:其实以上的修改都是在listinfo支持伪静态规则的基础上来修改的,熟练使用listinfo,就能在phpcms的任何页面实现伪静态分页了。

(转)对帝国cms、dedecms、phpcms、discuz、phpwind、xiuno负载测试总结

(转)对帝国cms、dedecms、phpcms、discuz、phpwind、xiuno负载测试总结

担心被骂,本不想写这篇文章。犹豫良久,最终还是决定写。希望能够帮助到一些朋友,认识到数据库索引正确设计的重要性。

由于我比较懒,就简单用文字描述一下,就懒得切图片证明了,懂技术的朋友可以自己测试一下,可证实我的测试结果是否真实。不懂技术的朋友信不信也无妨。

测试程序:

CMS程序:帝国cms dedecms phpcms

论坛程序:discuz phpwind xiuno

负载测试结果:

xiuno > discuz > phpwind > phpcms > ( 帝国cms ? dedecms)

从数据库设计来看(个人观点):

xiuno > (discuz 、 phpwind 、 phpcms) > (帝国cms 、 dedecms)

dedecms和帝国cms都是老牌的CMS了,从的数据库设计来看,不知是数据库设计者完全没有理解mysql索引的真谛,还是留一手以对高负载需求的用户收费改进?(希望不懂技术的朋友不要喷我,真正懂mysql索引的朋友可以自己看一下他们对索引的设计,虽然对于dedecms和帝国cms的作者来说,我只是一个晚辈,像您们这样有10多年开发经验的人,我比较尊敬,但我建议当前的dedecms和帝国cms数据库设计者还是再研究一下mysql索引吧,可以不相信我,但可以花点时间看看discuz 、phpwind的数据库设计吧,确实是比您们的好)。

如果有幸帝国cms作者能看到此文,希望您再重新设计帝国cms架构吧,毕竟这些年您一直在改进帝国cms的负载能力,光是通过分表技术提升,没有真正用到索引来优化,真的不行的,如果用对了索引,性能还会有更大的提升。

dedecms的创始人我算是和他认识,但现在dedecms却不是他的,比较遗憾,现在的dedecms这几年确实没多大变化,一直在打补丁,这样下去真是比较悲剧。

我的测试环境:

i3CPU 4G内存 1T硬盘 win7系统   apache 2.2 + mysql 5.0(普通环境没有优化过)

测试方法:

导入100万至1亿 不等数据,进行简单的访问测试

我的导入方法:

根据各个程序的数据结构写出导入程序,

1.先写一个PHP程序,将数据写入 e:/insert1.sql 这个文件,

2.然后再通过 LOAD DATA local INFILE ''e:/insert1.sql'' INTO TABLE `数据表名` character set 编码; 这种方式导入的,导入千W数据也就几分钟。

1、帝国cms

测试版本:EmpireCMS_7.0_SC_GBK (当前官方最新版)

先说说帝国cms,官方有一篇大数据测试贴(2千万数据、17.3GB数据库下帝国CMS超强生成速度 ),当年我看到这篇测试贴时,也觉得负载非常强大,但我测试后,令我失望了。

安装默认测试数据(共33篇新闻测试数据),首页改为动态首页 第一次访问0.670127010345459 第二次访问0.07926607131958

我导入100W数据时,数据库大小3.6G,首页第一次访问182秒,第二次访问155秒,我不知道当时帝国cms作者测试时,是否有测试过动态访问首页的时间。包括从6.0版起,每次更新都有说提升性能,但为何会这样?

帝国CMS官方的测试帖,就是误导人,忽悠人。

问题1.测试数据并没有提到动态访问首页或是生成首页。也没有提到动态访问列表页,和生成列表页。

问题2.测试统计的时间,也只统计了连接数据库之后的执行时间,并没有加上连接数据库的时间,这样很容易误导很多人,拿这个时间和别人统计了连接数据库的时间比。这样就差别大了。

问题3.每篇新闻的内容很少也就几行字。同时内容页模板,也非常简单,生成出来的文件也非常小,只有3K。正常的文章,都是上10K至几十K。

问题4.同时因为phome_ecms_news表 id 为主键,读取内容时,都是走的索引,所以动态访问内容页,编辑内容,生成内容页很快,都是理所当然的。

问题5.测试时都是通过分表来测试的,在真实站长做网站,不可能一开始就把网站内容分表。所以这和真实做站情况完全不一样。

像官方这种测试贴,真是误导人,而且还挂了几年。对于不懂技术的人,就是一种误导,让普通用户盲目的崇拜。

2、dedecms

测试版本:DedeCMS V5.7 SP1_GBK正式版 (当前官方最新版)

织梦CMS在知度CMS中一直公认的负载性能最差的CMS,确实很差。

我导入100W数据时,数据库大小只有330M,首页访问已经需要70几秒-80几秒才能访问。

3、phpcms

测试版本:PHPCMS V9_GBK 正式版 (当前官方最新版)

PHPCMS现在是由新的团队重新开发,也是号称高负载。

我导入100W数据时,数据库大小3G,首页访问需要20几秒。

4、phpwind

测试版本:phpwind v9.0 UTF-8 正式版(当前官方最新版)

phpwind以前和discuz比,速度上有优势,现在据说是全新开发,新版确实做了很大的改变(以前一直是discuz追随者,和discuz设计差别不是很大),现在这一变化,应该值的赞扬,但现在速度上不如discuz了,以前网页底部显示执行时间都去掉了。

我导入1000W数据时,数据库大小13G,

首页第一次访问8秒,第二次访问0.70477390289307秒

帖子列表页(默认排序)0.2x-0.5x秒  但我采用按“最新发贴”排序时,花了182秒才显示出来(我看了数据库设计,因为只做了按“最后回复”的索引,“发帖时间”的排序都没做索引,所以才很慢) 

帖子内容页,没填充多少回帖也没具体测试

5、discuz

测试版本:Discuz_X2.5_SC_UTF8  Discuz_X3.0_SC_UTF8

dx3看来是dx2.5的加强版,从后台、前台设计看,都变化不大。数据库架构变化也不大。

我导入1000W数据时,数据库大小18G,

首页0.05-0.06秒,(也没太大测试价值,因为都没读到thread表)

帖子列表页(默认排序)0.07-0.09秒 但我采用按“发帖时间”排序时,花了181秒才显示出来(我看了数据库设计,因为只做了按“最后回复”的索引,“发帖时间”的排序都没做索引,所以才很慢) 

帖子内容页,(没填充多少回帖也没具体测试)

6、xiuno

测试版本:xiuno bbs 2.02 UTF8

我导入1000W数据时,数据库大小15G

首页0.03-0.05秒

帖子列表页0.03-0.05秒(回贴排序)    0.01-0.03秒(发帖排序)

帖子内容页0.03-0.05秒 (没填充多少回帖也没具体测试翻页)

我导入1亿数据时,数据库填充到215G

首页0.05-0.08秒

帖子列表页0.05-0.08秒(回贴排序)     0.03-0.05秒(发帖排序)

帖子内容页0.05-0.08秒 (没填充多少回帖也没具体测试翻页)

总结:

xiuno 虽然负载很高,但是功能上有很大的控制,去掉了很多可能影响到性能的功能,功能方面我觉得要是能有一个像wordpress这样的一个平台来弥补,那将会有非常大的优势。

discuz 虽然没做深入测试,不过已经可见负载上面还是有缺陷的,同时thread表设计为 tid mediumint(8) UNSIGNED 所以最大数值也就16777215,所以他的设计也并没有往更高考虑。

phpwind 这次的新版本的改变,证明了他们的决心,要和discuz走不同的路,也能看出来他们更注重用户体验方面。程序性能已经次之。

phpcms 性能是比以前提升了,但是用户体验我是感觉不太好。不过能够说明CMS性能方面不如BBS程序。因为排序方式多,而且同一个页面列表也比论坛的多,所以让CMS性能不如BBS。

帝国cms 虽然程序官方一直强调负载,但真还不如phpcms,光是通过分表提高负载,真不是一个好办法。我个人愚见,程序负载高不高,第一步应该是正确设计索引,索引都没设计对,就用分表来解决,而且还要站长手动设置,完全增加使用难度。

dedecms 虽然用户量非常大,但数据库设计真不好,不但索引没设计对,而且还没分表,而且也能看出dedecms并没有考虑做高负载,毕竟上百W级数据的网站很少。

CMS系统:PHPCMS V9 /phpcms/modules/member/index.php phpcms注入漏洞修复补丁

CMS系统:PHPCMS V9 /phpcms/modules/member/index.php phpcms注入漏洞修复补丁

《CMS系统:PHPCMS V9 /PHPcms/modules/member/index.PHP PHPcms注入漏洞修复补丁》要点:
本文介绍了CMS系统:PHPCMS V9 /PHPcms/modules/member/index.PHP PHPcms注入漏洞修复补丁,希望对您有用。如果有疑问,可以联系我们。

漏洞名称:PHPcms注入漏洞

文件路径:/PHPcms/modules/member/index.PHP
修复方法来源于网络,由风信网整理提供.
源代码大概615行:
if(empty($_SESSION['connectid'])) {
//判断验证码
$code = isset($_POST['code']) && trim($_POST['code']) ? trim($_POST['code']) : showmessage(L('input_code'),HTTP_REFERER);
if ($_SESSION['code'] != strtolower($code)) {
    $_SESSION['code'] = '';
    showmessage(L('code_error'),sans-serif; line-height: 30px;">}
$_SESSION['code'] = '';
$username = isset($_POST['username']) && is_username($_POST['username']) ? trim($_POST['username']) : showmessage(L('username_empty'),sans-serif; line-height: 30px;">$password = isset($_POST['password']) && trim($_POST['password']) ? trim($_POST['password']) : showmessage(L('password_empty'),sans-serif; line-height: 30px;">针对phpsso模块添加过滤代码,最好的方式应该是将转义和过滤放在数据库操作的前一步,这样可以极有效缓解sql注入带来的问题
修改代码:
$password = isset($_POST['password']) && trim($_POST['password']) ? trim($_POST['password']) : showmessage(L('password_empty'),sans-serif; line-height: 30px;">改为:
$password = isset($_POST[‘password‘]) && trim($_POST[‘password‘]) ? addslashes(urldecode(trim($_POST[‘password‘]))) : showmessage(L(‘password_empty‘),HTTP_REFERER);

phpcms v9 tag 标签页输出缩略图标签

phpcms v9 tag 标签页输出缩略图标签

在做 phpcms v9 站优化的时候,把 tag 标签页面改吧改吧,由于是个视频站,所以输出缩略图就很有必要了,但是默认的缩略图是不会输出内容的,so 找了下,需要改个 php 文件,就可以了。。

修改 \phpcms\modules\content\tag.php 这个文件,

找到:

''title, description, url, inputtime, style''

改成:

''title, thumb, description, url, inputtime, style''

这里面加个 thumb,你懂得 o (∩_∩) o。。。

声明:本文采用 BY-NC-SA 协议进行授权,转载还请注明:phpcms v9 tag 标签页输出缩略图标签

phpcms v9 上传到空间出_无需整理

phpcms v9 上传到空间出_无需整理

phpcms v9 安装好了,还会跳转到安装页面
1.检查 caches/ 目录下是否有生成install.lock文件
2.清除浏览器缓存

关于PHPCMS V9网站管理系统内容页评述模块伪静态的实现网站伪静态规则的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于(转)对帝国cms、dedecms、phpcms、discuz、phpwind、xiuno负载测试总结、CMS系统:PHPCMS V9 /phpcms/modules/member/index.php phpcms注入漏洞修复补丁、phpcms v9 tag 标签页输出缩略图标签、phpcms v9 上传到空间出_无需整理等相关知识的信息别忘了在本站进行查找喔。

本文标签: