整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

国内十大CMS系统简介(PHP篇)

国内十大CMS系统简介(PHP篇)

下是国内最常用的基于PHP+MySql的十大CMS系统:

1. DEDE -这是一款国内开源的cms,作者是一个人,能做出如此功能的cms,是相当不错的。2007版功能十分强大,希望能改善之前数据量一大,更新静态页就很慢的缺点。因为开源,有较多的玩家和拥护者。非常适合有一定编程基础的站长。

2. phpcms-一个综合的网站管理系统,由PHP+MYSQL构架全站生成html,能够快速高效地应用于LINUX和WINDOWS服务器平台,是目前中国LINUX环境下最佳的网站管理应用解决方案之一。之前被酷6收购,现在被盛大收购,虽然易主,但差别不会太大。

3. 帝国网站管理系统-Ecms全称为"帝国网站管理系统",英文译为"Empire CMS"简称"Ecms".Ecms是基于B/S结构,且功能强大而易用的网站管理系统.是一个经过完善设计的适用于Linux/windows/Unix等环境下高效的网站解决方案。

4. php168 -PHP168整站系统,代码全部开源,可方便的进行二次开发,功能模块可以自由安装与删除,个人用户免费使用。系统频道模块很多,适合作个人门户网站。较多页面没有生成静态页。如果你想建站,就义无反顾的选择它吧!!!

5. HBcms :一个以PHP官方推荐的PEAR+SMARTY技术架构的cms,比较容易上手,适合没经验的新人做网站。没有下载,分类信息等模块,适合做文章为主的网站。全站生成静态页,默认附带了几套模板,可以方便的更换模板。个人企业都免费,无需授权。

6. SupeSite-一款将论坛资源自动转换成门户网站的php程序系统,使用SupeSite,并利用你现有的论坛,你将自动拥有一个功能完备的,资源丰富的站点系统;由论坛变成网站,一切都是自动完成,你不需要任何干涉。让你轻轻松松实现建立网站的目的。

7. 曼波-MAMBO,一个国外的CMS系统,功能很强大,支持添加很多组件,模块;拥有丰富的模板.Mambo是一个网站内容管理系统(CMS),它是网站的后台引擎,使网站内容的创建、管理和共享更加简易。Mambo十分强大,但官方网站也承认,它不是典型的“门户”网站解决方案。

8. Joomla! 是一套在国外相当知名的内容管理系统,2007年开源cms第一名!Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、Windows、MacOSX等各种不同的平台上执行。操作接口除了美观之外,也花了很多心力在设计这些接口的简易操作性。但初次使用者,需要花一点时间学习一下操作的方式,才能运用自如。

9. Drupal-Drupal是一个强大的软件,它可以让个人或社区使用者很容易地发表、管理并组织一个网站里大量且多样的内容。已经有许多个人和组织采用Drupal来建立各种不同的网站。Drupal是一套采用GPL授权的开放源码软件,是由数以千计的使用者和开发人员所共同维护和开发的。

10. WordPress是一款基于PHP和MySQL的Blog软件,但是它也可以当作简单的cms系统来用。通过它可以快速而简便的搭建属于你自己的Blog(网站)平台。简而言之,这个Wordpress就相当于咱们用来搭建论坛的那些程序,比如用在自留地上的雷傲,还有别的比如PHPBB等等…

Wordpress因为它的安装简单和可扩展性好几乎已经成了独立搭建Blog平台的第一选择。Wordpress还有一个MU就是多用户的版本,支持多用户的Blog系统。

有人说,WP不是CMS,但是你可能忘记了CMS的定义了!

需要调用类别的地方,比如列表页,首先写循环前面写上一句:

<?php $TYPE=getcache('type_content','commons');?>

这句就是把类别缓存加载进来.
然后在循环里写:

<a href="index.php?m=content&c=type&catid={$catid}&typeid={$r[typeid]}">{$TYPE[$r[typeid]][name]}</a>

这样就可以调用出来类别了.
不过链接暂时无效.因为还没有做好链接文件.后面会更新这个文件的.

类别链接页面:
新增一个 type.html 文件放到 phpcms\templates\default\content\ 下:
该文件代码如下:

  1. {template "content","header"}
  2. <!--main--><?php $typeid=intval($_GET['typeid']);?>
  3. <div class="main">
  4. <div class="col-left">
  5. <div class="crumbs"><a href="{siteurl($siteid)}">首页</a><span> > </span>{catpos($catid)} 类别:<font color="red">{$TYPE[$typeid][name]}</font> 总共有 {$total} 条记录</div>
  6. <ul class="list lh24 f14">
  7. {loop $datas $r}
  8. <li><span class="rt">{date('Y-m-d H:i:s',$r[inputtime])}</span>·<a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a></li>
  9. {if $n%5==0}<li class="bk20 hr"></li>{/if}
  10. {/loop}
  11. </ul>
  12. <div id="pages" class="text-c">{$pages}</div>
  13. </div>
  14. <div class="col-auto">
  15. <div class="box">
  16. <h5 class="title-2">频道总排行</h5>
  17. {pc:content action="hits" catid="$catid" num="10" order="views DESC"}
  18. <ul class="content digg">
  19. {loop $data $r}
  20. <li><a href="{$r[url]}" target="_blank">{$r[title]}</a></li>
  21. {/loop}
  22. </ul>
  23. {/pc}
  24. </div>

  25. </div>
  26. </div>
  27. {template "content","footer"}

新增一个 type.php 文件到 phpcms\modules\content\下,该文件代码如下:

  1. <?php
  2. defined('IN_PHPCMS') or exit('No permission resources.');
  3. //模型缓存路径
  4. define('CACHE_MODEL_PATH',CACHE_PATH.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);
  5. pc_base::load_app_func('util','content');
  6. class type {
  7. private $db;
  8. function __construct() {
  9. $this->db=pc_base::load_model('content_model');
  10. }
  11. /**
  12. * 按照模型搜索
  13. */
  14. public function init() {
  15. if(!isset($_GET['catid'])) showmessage(L('missing_part_parameters'));
  16. $catid=intval($_GET['catid']);
  17. $siteids=getcache('category_content','commons');
  18. $siteid=$siteids[$catid];
  19. $this->categorys=getcache('category_content_'.$siteid,'commons');
  20. if(!isset($this->categorys[$catid])) showmessage(L('missing_part_parameters'));
  21. if(isset($_GET['info']['catid']) && $_GET['info']['catid']) {
  22. $catid=intval($_GET['info']['catid']);
  23. } else {
  24. $_GET['info']['catid']=0;
  25. }
  26. if(isset($_GET['typeid']) && trim($_GET['typeid']) !='') {
  27. $typeid=intval($_GET['typeid']);
  28. } else {
  29. showmessage(L('illegal_operation'));
  30. }
  31. $TYPE=getcache('type_content','commons');
  32. $modelid=$this->categorys[$catid]['modelid'];
  33. $modelid=intval($modelid);
  34. if(!$modelid) showmessage(L('illegal_parameters'));
  35. $CATEGORYS=$this->categorys;
  36. $siteid=$this->categorys[$catid]['siteid'];
  37. $siteurl=siteurl($siteid);
  38. $this->db->set_model($modelid);
  39. $page=$_GET['page'];
  40. $datas=$infos=array();
  41. $infos=$this->db->listinfo("`typeid`='$typeid'",'id DESC',$page,20);//读取整个模型下同类别文章
  42. //$infos=$this->db->listinfo("`typeid`='$typeid' AND catid='$catid'",'id DESC',$page,20);//仅仅读取当前栏目下的同类别文章,如果要启用此模式,请去掉上一行代码并将本行开头的// 两斜杠去掉.
  43. $total=$this->db->number;
  44. if($total>0) {
  45. $pages=$this->db->pages;
  46. foreach($infos as $_v) {
  47. if(strpos($_v['url'],'://')===false) $_v['url']=$siteurl.$_v['url'];
  48. $datas[]=$_v;
  49. }
  50. }
  51. $SEO=seo($siteid, $catid, $TYPE[$typeid]['name'],$TYPE[$typeid]['description'],$TYPE[$typeid]['name'].'类别');
  52. include template('content','type');
  53. }
  54. }
  55. ?>

上面的链接即可生效.
需要注意的是:
$infos=$this->db->listinfo("`typeid`='$typeid'",'id DESC',$page,20);//读取整个模型下同类别文章
//$infos=$this->db->listinfo("`typeid`='$typeid' AND catid='$catid' ",'id DESC',$page,20);//仅仅读取当前栏目下的同类别文章,如果要启用此模式,请去掉上一行代码并将本行开头的// 两斜杠去掉.

nginx进程,一般设置为和cpu核数一样

worker_processes 4;

#错误日志存放目录

error_log /data1/logs/error.log crit;

#运行用户,默认即是nginx,可不设置

user nginx

#进程pid存放位置

pid /application/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.

#最大文件打开数(连接),可设置为系统优化后的ulimit -HSn的结果

worker_rlimit_nofile 51200;

cpu亲和力配置,让不同的进程使用不同的cpu

worker_cpu_affinity 0001 0010 0100 1000 0001 00100100 1000;

#工作模式及连接数上限

events

{

use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能

worker_connections 1024; #;单个后台worker process进程的最大并发链接数

}