熟悉thinkphp框架的站长都知道,页面Trace功能是thinphp提供给开发人员的一个用来开发调试的辅助手段,基于这个框架搭建的thinkcmf程序也有个同样功能的ShowPageTrace。在调试thinkcmf程序时,我们可以利用这个工具看到当前访问页面的一些服务器信息,从而更好地对程序进行调试,今天无忧主机小编将给大家讲解一下thinkcmf程序ShowPageTrace的使用方法。
一、 怎么开启和关闭ShowPageTrace
判断ShowPageTrace是否开启的方法是看页面是否显示thinkphp的logo,如图1所示,

图17 300x112 thinkcmf程序ShowPageTrace使用方法

如果显示说明已经开启,否则未开启。在程序根目录找到index.php文件,在

define("APP_DEBUG", true);

这句代码中,按如图2所示的方法,true表示开启调试模式,ShowPageTrace可正常使用,需要关闭此功能只需将true改为false。

图27 300x115 thinkcmf程序ShowPageTrace使用方法
二、 ShowPageTrace各项调试信息讲解
Thinnkcmf程序的前后台使用的是同一个Trace工具,不同页面Trace信息不一样,点击不同的选项卡会切换显示不同的页面Trace信息,这里演示前台调试作为参考。
基本选项卡中,如图3所示,这里显示了加载该网页的总体信息,

图35 300x86 thinkcmf程序ShowPageTrace使用方法

其中
请求信息: 2016-09-14 23:33:09表示请求时间,HTTP/1.1 GET表示请求http的版本为1.1、请求方法是GET, /thinkcmf/index.php?g=user&m=login&a=index 表示请求的URL;
运行时间:显示了页面整体运行的时间(加载、初始化、执行、模板);
吞吐率: 服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数;
内存开销:表示相应此请求占用的服务器内存;
查询信息:2 queries 0 writes表示执行了2个查询语句和0个写入语句;
文件加载:打开该网页使用的php文件数量;
缓存信息:1 gets 0 writes从本地磁盘读取1个信息、向本地磁盘写入0个信息。
配置加载:配置文件的加载次数为154
绘画信息:服务器端的用来响应本地此用户的SESSION_ID.
其余的三个选项卡的信息量比较小。
文件:基本信息中提到的55个加载的文件服务器路径和文件大小。
流程:打开该网页时,程序执行的先后顺序和每个模块的运行时间。
错误:提示程序报错
SQL: 显示执行程序时所执行的sql命令和执行时间;
调试:调试面板中可以执行javascript程序,但不会保存到服务器。

thinkcmf是一款相当优秀的内容管理系统,他的核心是thinkphp框架,掌握thinkphp的站长可以轻而易举的理解这个程序的功能,但是没有经验的也不用灰心,今天无忧主机小编给大家带来修改thinkcmf首页导航栏的教程。
用开源程序建站的一大好处就是轻松建站,用别人写好的代码,加上自己的思想就是自己的网站。我们就从修改导航栏开始,thinkcmf程序默认的导航栏有首页、列表演示、瀑布流如图1所示,

图16 300x76 thinkcmf如何给首页自定义导航栏

乍一看都不是我们想要的,这时可以在网站后台修改这些内容。
一、选择导航栏
登陆后台后,在左侧找到菜单管理->前台菜单->菜单分类,打开这个选项后我们看到的主导航就是系统默认的导航栏如图2所示。

图26 300x55 thinkcmf如何给首页自定义导航栏

我们可以使用这个默认的导航栏,或者在“添加分类”处新建一个导航栏,如图3所示。

图34 300x158 thinkcmf如何给首页自定义导航栏

在有多个导航栏的情况下,需要编辑导航栏选择默认,网站首页便会显示您指定的导航栏,操作如图4所示,

图43 300x242 thinkcmf如何给首页自定义导航栏

这里使用默认的导航栏作为演示。
二、添加一级菜单
同样在后台找到菜单管理->前台菜单->菜单管理,打开这个选项后看到的初始导航栏一级菜单如图5所示。

图52 300x100 thinkcmf如何给首页自定义导航栏

如果在第一步骤中新建了自己的导航条,可以在上方选中要编辑的导航条。先删除不要的一级菜单,留下首页,然后再选择 “添加菜单”,如图6所示,

图61 300x197 thinkcmf如何给首页自定义导航栏

添加一个名为“产品”的导航栏,同样的方法为导航栏添加一级菜单,分别命名为 “PHP空间”,“云服务器”、“国际域名注册”。
三、添加二级菜单
网站的导航栏一般都是分级的,这也有利于搜索引擎爬虫程序的爬行。在第二部中界面,找到刚才添加的一级导航菜单,点击有右方的“添加子菜单”,如图7示,

图71 300x217 thinkcmf如何给首页自定义导航栏

为产品添加一级菜单,分别为“产品A”、“产品B”、“产品C”。其他的二级菜单添加方法跟上面的一样。添加好之后,在设置->清楚缓存,清理了缓存在首页便会显示自定义的导航栏,如图8所示

图8 300x77 thinkcmf如何给首页自定义导航栏

thinkcmf程序安装好之后功相当单一,有些站长朋友就会因此放弃这套源码,其实不是那么回事,thinkcmf程序有良好的插件支持,而且在后台提供了相当丰富的插件供站长们下载安装,而且插件都是免费的,开发者还可自己根据自己的不同需求对下载的插件进行修改,有能力的还可以全新开发出属于自己的插件。现在的网站都流行跟客户要有更多的互动,比如访问者对站长问问题或提出意见,今天小编要讲解的就是“友言”这款插件的使用教程,一款支持众多php开源程序的留言板插件。
1、准备好插件
“友言”留言板插件的下载地址是 http://pan.baidu.com/s/1qWZaM7M 。下载得到一个文件名为SocialComment.rar的rar文件,文件大小为37kb,将此文件上传到PHP空间,就是thinkcmf程序的plugins文件夹下,如图1所示。

图15 300x106 thinkcmf程序添加友言留言板插件的介绍
2、安装插件
登陆thinkcmf程序后台,在扩展工具找到插件管理,会发现插件列表中已经有了我们需要的插件,如图2所示,在“友言社交化评论”的右侧点击“安装”并确定,插件就安装完成了。

图25 300x69 thinkcmf程序添加友言留言板插件的介绍
3、注册“友言”账号并设置账号id
友言官网是www.uyan.cc,在这个网站注册一个会员,登陆会员会看到系统提供的账号id,如图3所示。

图33 300x134 thinkcmf程序添加友言留言板插件的介绍

然后再第2步骤的“友言社交化评论”插件找到设置,如图4所示,将得到的id填好点点击保存。

图42 300x147 thinkcmf程序添加友言留言板插件的介绍
4、将代码保存到程序中
在登陆“友言”之后,获取需要放入网站中的代码,如图5所示,

图51 300x169 thinkcmf程序添加友言留言板插件的介绍

这个代码就是该插件的核心,然后将其放入网站首页位置如底部,如果您的网站使用的是thinkcmf程序自带的主题,那可以放在/themes/simplebootx/Public目录下的footer.html文件中,将代码复制到如图6的位置。

图6 300x127 thinkcmf程序添加友言留言板插件的介绍
5、检验插件是否安装成功
现在访问自己的程序会发现最底部多了一块留言板功能,访问者需要登陆留言板左下角的社交账号,才能参加发言,如图7所示,留言板已经实现了留言的功能,说明插件安装好了。

图7 300x145 thinkcmf程序添加友言留言板插件的介绍

站长朋友应该对thinkcmf程序并不陌生,它是基于thinkphp+mysql搭建的一款内容管理系统,其内核Thinkphp是当下很流行的php框架,安全性和稳定性等各个方面比较可靠的,所以这也决定了thinkcmf能够成为许多站长朋友的首选源码来建站。在建站过程中会经常忘记网站后台密码,你可能会修改wordpress、discuz、dedecms等其他开源程序的网站后台密码,但同样的修改方法在thinkcmf程序上就实现不了,现在就给大家分享一下thinkcmf程序网站后台密码的修改方法。
Thinkcmf程序的网站后台密码并不是简单的md5加密方式,现在md5已经不是一个安全的密码加密方法,如果数据库被下载那网站就很危险。Thinkcmf程序的字段加密采用了thinkphp框架内部的方法。修改方法非常简单,我们不需理解它内部的加密方式,可以在任何一个控制器里加入下面的代码

	echo sp_password('admin888'); //通过sp_password密码设置为“admin888”
	exit;

如图1所示控制器的位置 application\Portal\Controller,

图14 300x179 thinkcmf忘记后台管理密码怎么重置找回

以IndexController.class.php为例,如图2所示,将后台密码设置为admin888 。

图24 300x134 thinkcmf忘记后台管理密码怎么重置找回

修改完之后上传到php虚拟主机上,然后访问thinkcmf的首页,在浏浏览器中会显示admin经过函数的加密结果,用这句代码代替数据表 cmf_users 的密码字段,网站后台密码就设置成了admin888,这里经过加密的代码是:a709b39ec545a4f3bcdef23519fdd74f,设置好了之后如图3所示,

图32 300x89 thinkcmf忘记后台管理密码怎么重置找回

这时用admin888这个密码去登陆后台便可以成功登陆了。
确定密码修改成功后,记得要删除上面这段加进去的代码,否则访问网站首页只会显示网站管理员密码的加密字串。

thinkcmf的后台自带了备份和恢复数据库的功能,传统的php虚拟主机想要备份数据库一般是通过phpmyadmin或者类似的数据库在线管理软件导出sql文件,和直接在数据库中导入导出比较起来,网站后台备份有简单、安全的特点;如果是直接登陆到数据进行操作,不但步骤多,而且容易给数据带来一定的风险,可能手一抖就把某个数据改了。像thinkcmf这种可以在后台可以备份恢复的,就尽量使用后台的功能来操作。有些新手站长可能对thinkcmf的后台数据库操作不太熟悉,现在无忧主机小编给大家讲解thinkcmf网站后台备份和恢复数据库的具体操作。
一、备份数据库
登陆网站后台,地址是http://您的域名/admin ,进入管理界面后找到备份管理->数据备份,如图1所示。

图13 300x136 thinkcmf如何在后台备份和恢复数据库

为了保证数据库的安全,建议不要更改“每个分卷文件大小”,默认使用10240k,超过10240k(10M)的数据库不推荐使用该方法备份;小于10240k的也不用设置,无忧主机小编亲自测试过,如果这个值小于数据库的真实大小,系统只会生成一个指定大小的数据库文件,比如设置的值为1k,就备份一个1kb的数据库。备份类型有全部备份和自定义备份,如果程序使用独立的数据库,又要备份整个数据库可以选择“全部备份”,如果是共用数据库或者想要备份数据库中的某一张表,则选择“自定义备份”。然后点击开始备份。备份之后系统会在程序根目录的/data/backup路径下生成一个数据库备份,名为20160910_5,如图2所示。

图23 300x143 thinkcmf如何在后台备份和恢复数据库
二、数据还原
数据还原的操作也同样简单,在管理界面找到备份管理->数据还原,如图3所示,

图31 300x68 thinkcmf如何在后台备份和恢复数据库

根据备份时间选择“恢复”操作,如恢复2016年9月10号的第五次备份,就在备份名称为20160910_5后面点击“恢复”,系统会弹出是否确定恢复的窗口,选择确定即可完成还原的操作。
三、下载数据库
Thinkcmf后台还提供了下载数据库备份的功能,在第二部操作的界面,选择自己想要下载数据库,如图4所示,

图41 300x84 thinkcmf如何在后台备份和恢复数据库

在需要下载的备份名称前点击加号,会出现一个后缀为.sql的数据库文件,点击右方的下载,数据库就保存到了本地磁盘。

thinkcmf因为有很好的可扩展性,深受站长朋友们喜爱,无忧主机小编也是因为看见thinkcmf官网有很多简单易懂的教程而被深深吸引到了,更重要的thinkcmf是基于thinkphp开发的,可以借助这个系统更加全面地去了解thinkphp。最近无忧主机小编一直在纠结thinkcmf网站后台验证码不显示的问题,关于这个问题在网上的回答是众说纷纭。经过一番苦苦摸索终于有了答案,为了让thinkcmf源码爱好者不再走我走过的弯路,无忧主机小编就把thinkcmf后台验证码有时不显示的解决办法分享给大家。
用ftp工具连接到虚拟主机,在根目录的 application/Api/Controller/ 路径下找到 CheckcodeController.class.php文件,如图1所示,

图12 300x189 thinkcmf后台验证码有时不显示的解决办法

将这个文件下载到本地进行修改。
用文本编辑器打开,在 public function index()  这个方法中,找到

$Verify = new \Think\Verify($config);

在这句代码前面上 ob_clean();  如图2所示。

图22 300x102 thinkcmf后台验证码有时不显示的解决办法

改好后保存并上传到空间的原路径,再去访问发现验证码始终都会显示了。
这个函数到底是起到了什么作用呢,在php官网文档的介绍的是,这个函数用于丢弃缓冲区的内容,而且缓冲区中带了PHP_OUTPUT_HANDLER_CLEANABLE标志的ob_start()方法才能工作, ob_start()表示打开输出控制缓冲。在thinkcmf程序中,网站有许多生成的图片类文件比如销毁后的验证码,想要正确访问新生成的验证码,如果没有及时清除缓冲区,验证码就可能无法显示,这个函数就是用来清理缓冲区的。

开发和调试一个网站的工作一般是在本地完成的,在本地经过多次测试没问题后,再把它放在正式的线上环境中。网站搬家步骤大致相同,不同程序的搬家操作都会有需要注意的细节,今天无忧主机小编讲解如何将thinkcmf程序从本地搬到我公司的PHP虚拟主机上。
1、开启程序的调试模式。
在根目录找到index.php文件,打开在后在第21行找到 define(“APP_DEBUG”, false); 这行代码,将 false 改为 true ,如图1所示,保存文件后调试模式就打开了,这样就可以防止进入生产环境。

图11 300x172 如何将本地调试好的thinkcm迁移到正式线上环境
2、上传并解压程序
将thinkcmf程序根目录的所有数据打包成zip格式的文件,然后用二进制上传到空间根目录,为了避免不必要的麻烦,建议以后使用ftp上传数据库都采用二进制上传,上传完成后,登录无忧主机管理平台(v3.51php.com),在控制面板的文件管理中找到刚上传的程序压缩包,点击解压,如图2所示,如果没有解压按钮的可能是上传不完整或者不是zip格式的压缩包。

图21 300x94 如何将本地调试好的thinkcm迁移到正式线上环境
3、导入数据库
先准备好数据库,您可以在通过phpmyadmin导出数据库,也可以在thinkcmf网站后台备份并下载,备份功能在后台首页的扩展工具->数据库管理->数据备份如图3所示,

图3 300x143 如何将本地调试好的thinkcm迁移到正式线上环境

还原功能在数据库管理—>数据库还原如图4所示。

图4 300x82 如何将本地调试好的thinkcm迁移到正式线上环境

数据库下载到本地后再到空间创建数据库,登录无忧主机账号,在空间面板的数据库管理点击 “快速创建数据库”,如图5所示,系统会弹出数据库信息。

图5 300x118 如何将本地调试好的thinkcm迁移到正式线上环境

登录到数据库管理工具phpmyadmin,然后在选择创建创建好的数据库,将准备好的数据库导进去,如图5所示。

图6 300x104 如何将本地调试好的thinkcm迁移到正式线上环境
4.配置文件
thinkcmf的数据库配置文件是/data/conf目录下的db.php文件,编辑这个文件,如图7所示,将数据库信息替换为刚才创建的数据库信息。如果网站没问题,就可以在第一步中的调试模式改为false了,这样网站就进入了生产环境。

图7 300x194 如何将本地调试好的thinkcm迁移到正式线上环境

thinkcmf是一款基于thinkphp+mysql开发的中文内容管理框架。thinkcmf提出灵活的应用机制,框架自身提供基础的管理功能,站长可以根据自身的需求以应用的形式进行扩展。每个应用都能独立的完成自己的任务,也可通过系统调用其他应用进行协同工作。在这种运行机制下,开发商城应用的用户无需关心开发SNS应用时如何工作的,但他们之间又可通过系统本身进行协调,大大的降低了开发成本和沟通成本。为了让建站朋友们全面地了解thinkcmf程序,无忧主机小编先给大家介绍程序的安装教程。
一、 下载thinkcmf程序
thinkcmf程序可以在官网下载,网址是:http://www.thinkcmf.com,也可以到thinkcmf的开源中国下载网址是:http://git.oschina.net/thinkcmf/ThinkCMFX,这里需要先登录才能下载,建议到官网下载。以ThinkCMFX2.1.0为例,下载到本地后是大小为7.29M的zip压缩包文件。
二、上传程序到服务器
可以使用FlaxhFXP软件上传,选择工具栏的会话->传输模式->二进制。登陆远程服务器,将下载好的程序上传到PHP空间的根目录,无忧主机的程序根目录是public_html.
三、解压程序
登陆空间的管理后台,一般空间后台都会有解压程序的功能,如果是无忧主机用户(以下均以无忧主机为例),完成了第二步骤后,在控制面板的文件管理找到刚才上传的包文件,直接点击解压,解压好后的程序根目录如图1所示。

图11 218x300 thinkcmf的功能介绍及安装教程
四、新建数据库
在控制面板找到数据库管理,右侧点击快速创建数据库,如图2所示,新建好之后系统会弹出数据库信息,要保存好等下安装网站会用到。

图21 300x92 thinkcmf的功能介绍及安装教程
五、开始安装
在域名绑定并解析好了之后,在浏览器中输入域名即可直接安装,出现如图3所示的界面说明前面的步骤没有出错,

图3 300x213 thinkcmf的功能介绍及安装教程

点击使用协议下方的“接受”,第二界面会检测空间环境,所有的检测项都打勾的情况下点击“下一步”。下一步的界面会提示输入数据库信息、网站配置、创始人信息,按照如图4的操作填写好信息,

图4 300x296 thinkcmf的功能介绍及安装教程

点击“创建数据库”,最后跳转到安装成功的如图5这个界面,提示“恭喜您,安装网站!”说明网站已经安装好了。

图5 300x146 thinkcmf的功能介绍及安装教程

建站过程中,我们经常会为自己的网站添油加醋,今天无忧主机小编就教会大家如何在自己的网站打广告,以thinksaas程序为例。在访问thinksaas官网时,会发现网站首页的底部有一个固定的div,如图1所示。

图1 300x57 thinksaas程序在首页底部添加广告详解

上面可以根据自己的需求添加一些广告信息和联系方式,放在底部不会影响对页面的整体布局,透明的层样式能够显示也不会影响页面内容的显示,对于网站的访问者来说是非常可以接受的。无忧主机小编研究了一番后,在自己的thinksaas程序中成功模仿了这个功能,为了使网站有更好的体验,无忧主机小编还在这个横幅中设置了一个关闭广告按钮,具体的操作步骤如下:
1、找到用于存放横幅的文件 /app/home/html/footer.html,用notepad++或其他文本编辑器打开,可以看到如下代码

{php doAction('body_foot')}
{php include pubTemplate("footer");}

在这段代码后面添加广告和联系方式的代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function removeElement(id){ document.getElementById(id).style.display="none"; }
</script>
</head>
<body>
<style type="text/css">
.footertip{ position: fixed; z-index: 200; float:left; padding: 10px 0; width: 100%;
background-color: #333; background-color: rgba(0,0,0,0.75); color: #FFF;
font-size: 18px; text-align: center; bottom: 0;}		
.hidden-xs { opacity:0.8; }		
.btn-info { color: #fff;background-color: #5bc0de;border-color: #46b8da; }		
.btn {display: inline-block;padding: 6px 12px;margin-bottom: 0;font-size: 14px;font-weight: 400;
line-height: 1.42857143;text-align: center;white-space: nowrap;vertical-align: middle;
-ms-touch-action: manipulation;touch-action: manipulation;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;
-ms-user-select: none;user-select: none;background-image: none;border: 1px solid transparent;border-radius: 4px;}
a{ text-decoration: none;}
</style>	
<div class="footertip hidden-xs" id="bar1">在这里写一些广告语,如果有问题可以在"点击联系"出联系站长,如果不喜欢可以点击最后侧的"关闭"。 
<a class="btn btn-info" target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=这里填写站长的qq&site=qq&menu=yes">点击联系</a>
<a onclick="removeElement('bar1')">关闭</a>
</div>
</body>
</html>

2、将上面这段代码中的“这里填写站长的qq” 填写好对应的qq号码,广告语也可以自己更改的,改好了保存好上传到空间目录:/app/home/html/ ,这样广告就做好了,效果如图2所示:

图2 300x72 thinksaas程序在首页底部添加广告详解

很多选择php空间建站的站长们在使用thinksaas调试网站程序的时候,免不了一番折腾后对站点不满意,或出现这样那些的小问题。无忧主机小编上次在鼓捣thinksaas程序删除注册用户时,不小心把管理员账户也删除了,无论在数据库或者注册页面中新增用户都无法将其授权为管理员,无奈之下便想到重新安装thinksaas程序。为了帮助更多的站长朋友解决遇到的类似问题,无忧主机小编以无忧主机空间为例,介绍重新安装thinksaas的详细过过程。
1、删除数据库或删除数据表
登陆无忧主机账户后,在首页的 “产品管理” 找到找到 “主机管理”,选择安装了thinksaas的主机,点击“控制面板”按钮,进入后在控制面板找到“数据库管理”,然后根据数据库访问用户名或数据库名删除安装thinksaas的数据库。如果忘记了数据库信息可以到数据库配置文件中找回,thinksaas的数据库配置文件位于程序根目录下的/data中,找到config.inc.php文件,点击编辑可以看到数据库信息。如图1所示,

图1 300x167 thinksaas如何重新安装

$TS_DB[‘user’] 是数据库用户名,

$TS_DB[‘name’] 是数据库名,

$TS_DB[‘pwd’] 是数据库密码,然后将这个数据库删除在重新创建。或登陆数据库后,全选数据表然后删除,操作如图2所示,这种方法可以保留原来的数据库信息。

图2 300x166 thinksaas如何重新安装
2、删除数据库配置文件
在保证install目录完整的情况下,删除 /data/config.inc.php 文件(或者重命名也可以)。
3、开始重新安装
在浏览器中输入域名即可重新安装,不要带/install或/install/index.php,否则会显示 “Access Denied.”错误。按照要求填写好数据库信息和网站后台信息,前面删除了数据库的数据库这里填写新创建的数据库信息,删除了数据库表的则使用原来的数据库信息。