? ? ? ? 前段時(shí)間使用ThinkCMF搭建了一個(gè)局域網(wǎng)內(nèi)運(yùn)行的小型站點(diǎn),對(duì)于CMF有了一丟丟的新認(rèn)識(shí),于是又意識(shí)到好記性不如爛筆頭,爛筆頭不如Blog,看來需要將這些認(rèn)識(shí)變成字符串,才能逐漸成為一名合格的攻城獅/程序猿。
????????姓名:ThinkCMF,類型:開發(fā)框架,適用人群:程序猿/碼農(nóng),該框架是目前較為流行的一款基于ThinkPHP+Mysql開發(fā)的中文內(nèi)容管理框架。此框架含有多種可定制的功能模塊以供開發(fā)者使用,力爭將模塊、功能等做成積木的模式,使用時(shí)直接取用即可;此外,開發(fā)者還可以在遵循框架作者制定的標(biāo)準(zhǔn)的前提下,對(duì)框架進(jìn)行擴(kuò)展。而Thinkcmf框架除了含有多種可擴(kuò)展的功能、模塊、插件外,還含有基礎(chǔ)的管理功能,如用戶管理、權(quán)限管理、角色管理等,開發(fā)者可以將主要精力投入到關(guān)注的功能模塊中。
? ? ? ? Thinkcmf開發(fā)語言是php,因?yàn)樗旧砭褪且豢罨赥hinkphp+Mysql開發(fā)的中文內(nèi)容管理框架。
????????該開發(fā)框架定位于CMF(Content Management Framework,即內(nèi)容管理框架),與CMS(Content Management System,即內(nèi)容管理系統(tǒng))是有區(qū)別的。
CMS與CMF:
? ? ? ? CMS為一款內(nèi)容管理系統(tǒng),主要從事內(nèi)容發(fā)布工作,適用于新聞發(fā)布、內(nèi)容管理站點(diǎn)等場景,開發(fā)者/用戶直接在該系統(tǒng)中進(jìn)行一些維護(hù)、調(diào)整,即可直接上線使用,但擴(kuò)展性較差。
? ? ? ? 而CMF作為一款開發(fā)框架,定位就是像我一樣對(duì)編程有一丟丟認(rèn)識(shí)的Codinger,根據(jù)框架提供的接口、模塊等,拼湊出自己需要的站點(diǎn)進(jìn)行上線使用。
下載:
? ? ? 截止到寫本文前,框架版本已經(jīng)到了5.0.170927,可以直接通過Github網(wǎng)站下載:https://github.com/thinkcmf/thinkcmf。
安裝:
? ? ? ? 需要搭建Php+Mysql環(huán)境,在Windows環(huán)境下,一般選擇WampServer或phpstudy即可。目前較流行的是將它搭建在nginx平臺(tái)上。
? ? ? ? PHP版本要求5.5以上,Mysql要求5.6,安裝時(shí)要求不開xdebug擴(kuò)展
? ? ? ? 瀏覽器進(jìn)入網(wǎng)站目錄/public頁面,會(huì)自動(dòng)提示安裝,填寫相應(yīng)的參數(shù),錄入數(shù)據(jù)庫服務(wù)器地址、端口號(hào)、用戶名、口令、數(shù)據(jù)庫名稱等,并要求填寫管理員的登錄口令。完成以上,即可進(jìn)入下一步,創(chuàng)建相應(yīng)的參數(shù)文件即可。

? ? ? 根據(jù)以往的經(jīng)驗(yàn),這種搭建的教程,大多數(shù)流程是想通的,所謂一法通萬法通嘛,所以下來就直接說說在內(nèi)網(wǎng)搭建站點(diǎn)遇到的坑吧,將坑避過,自然本文的目的也就達(dá)到了。
坑1:
? ? ? ? 在測試的環(huán)境下安裝wampserver2.5時(shí)報(bào)錯(cuò),環(huán)境為64位Windows 2008 Server的虛機(jī),報(bào)錯(cuò)提示為“沒有找到MSCVR110.dll,因此這個(gè)應(yīng)用程序未能啟動(dòng)。重新安裝應(yīng)用程序可能會(huì)修復(fù)此問題?!?/p>

? ? ? ? 最開始想到的是系統(tǒng)安裝時(shí)是否不是完全安裝,以至于缺少動(dòng)態(tài)庫,下載MSVCR110.dll即可。于是在后面的過程中一步步陷入死循環(huán):
????????????1.網(wǎng)上搜索下載該dll文件,發(fā)現(xiàn)大部分支持下載的都是只支持32位操作系統(tǒng)的文件,無法使用;
????????????2.在某論壇搜尋到64位版本的后,分別復(fù)制粘貼到C:/Windows/System32、C:/Windows/SysWOW64路徑下時(shí),提示該文件正在使用,無法復(fù)制;
????????????3.進(jìn)入安全模式進(jìn)行復(fù)制,依然提示無法復(fù)制。
????????????難道非得使用WinPe然后再復(fù)制嗎?(+﹏+)~暈
????????????后經(jīng)高人指點(diǎn)(估計(jì)也是在此坑過),需要下載安裝 Visual C++ Redistributable for Visual Studio 2012 Update 4的Windows補(bǔ)丁。
????????????該網(wǎng)站的網(wǎng)址為:http://www.microsoft.com/en-us/download/details.aspx?id=30679
????????????分別提供32位和64位兩個(gè)版本的程序文件,建議都下載安裝,因?yàn)楹髞戆l(fā)現(xiàn)在Windows 2008 Server的64位服務(wù)器上安裝WampServer的32位版本,也是可行的。
????????????那么下來就簡單了,下載程序文件,雙擊安裝,并重啟該服務(wù)器,WampServer就能正常運(yùn)行了。
坑2:
????????wampserver的配置問題。
????????眾所周知,wampserver安裝過后,默認(rèn)只能本機(jī)訪問,需要其他設(shè)備訪問,需要修改httpd.conf的參數(shù)。
????????而wampserver的2.4.9以及之后的版本,將對(duì)訪問策略參數(shù)的修改方式進(jìn)行了變更。allow from all→Require all granted ?allow from 127.0.0.1 → Require local
????????另外,其他計(jì)算機(jī)無法訪問,可能運(yùn)行wampserver的計(jì)算機(jī)的防火墻未正確配置。關(guān)閉防火墻或添加防火墻訪問規(guī)則。
????????防火墻添加訪問規(guī)則的方式:打開防火墻,點(diǎn)擊高級(jí)設(shè)置,點(diǎn)擊入站規(guī)則,右鍵新建規(guī)則,選擇端口,選擇TCP協(xié)議并填寫端口號(hào),選擇允許連接,選擇所有情況下允許,輸入描述和名稱,點(diǎn)擊完成。
坑3:
本文標(biāo)題之所以 提到“內(nèi)網(wǎng)”二字,確實(shí)是因?yàn)閮?nèi)網(wǎng)/局域網(wǎng)中搭建、運(yùn)行網(wǎng)站與公網(wǎng)存在很大的不同。
其最大的不同在于,目前大多數(shù)網(wǎng)站加載流行前段框架的js、css都是使用在線CDN,而內(nèi)網(wǎng)根本無法滿足此要求,于是需要將這些加載的內(nèi)容摘出并下載到本地。這些,同樣適用于Html5.js、respond.min.js這些為兼容IE7、IE8而服務(wù)的文件。
否則,頁面瀏覽時(shí)就會(huì)出現(xiàn)各種各樣的問題,尤其是使用IE時(shí)。
目前流行CMF介紹:
OneThink(目前好像暫時(shí)沒有人維護(hù))、ThinkCMF、CoreThink,都是從ThinkPHP而來。針對(duì)于這種CMF框架,目前還在發(fā)展中,沒有特別令人青睞的框架。本人試用過OneThink、ThinkCMF,個(gè)人覺得還是ThinkCMF較好使用一些,畢竟還在運(yùn)營維護(hù)中。