PHP網(wǎng)站自動(dòng)化配置的實(shí)現(xiàn)方法(必看)
一直都在用yii2做項(xiàng)目,有在用自動(dòng)化配置,但是沒(méi)有自己去配置過(guò)。中午沒(méi)事去看了下yii的初始化代碼,發(fā)現(xiàn)都是php而已!
yii2
初始化項(xiàng)目代碼
所以,我們做項(xiàng)目肯定是可以用php做的,于是我新建了個(gè)文件夾,名為autoConfig,里面創(chuàng)建了個(gè)init,里面寫了如下代碼:
if(!file_exists('./uploads/')){ if(!mkdir('./uploads/')){ echo 'fail to make ./uploads/ file!'; }else{ echo 'make ./uploads/ success!'; } }
也就是一個(gè)非常簡(jiǎn)單的自動(dòng)創(chuàng)建uploads文件夾的代碼,當(dāng)uploads文件夾不存在時(shí)候,自動(dòng)創(chuàng)建uploads文件夾。 我們?cè)诮K端執(zhí)行下:
自動(dòng)創(chuàng)建配置
打開同級(jí)目錄,發(fā)現(xiàn)uploads文件夾已經(jīng)被創(chuàng)建。所以,如果我們要?jiǎng)?chuàng)建配置信息,可以直接采用php代碼來(lái)配置,并沒(méi)有什么很高深的東西。
我再寫個(gè)demo2:
目標(biāo):
1. 在網(wǎng)站根目錄創(chuàng)建uploads目錄
2. 從common目錄復(fù)制config.php模板到admin目錄里面
3. 在根目錄生成一個(gè)install.lock文件
4. 如果網(wǎng)站初始化后,必須刪除根目錄的install.lock,否則無(wú)法重復(fù)初始化
好了,我們看下我們現(xiàn)在的目錄結(jié)構(gòu):
把init的代碼改為如下:
<?php //設(shè)置長(zhǎng)連接,以便可視化看到每個(gè)步驟執(zhí)行情況 header("Connection: Keep-Alive"); header("Proxy-Connection: Keep-Alive"); set_time_limit(0); /*判斷是否重復(fù)初始化*/ if(file_exists('./install.lock')){ echo '系統(tǒng)已經(jīng)初始化過(guò)了,如果要重新初始化,請(qǐng)刪除install.lock'."<br>"; } /*創(chuàng)建uploads文件夾*/ if(!file_exists('./uploads/')){ if(!mkdir('./uploads/')){ echo '無(wú)法在根目錄創(chuàng)建uploads文件夾'."\n"; }else{ echo 'uploads文件夾創(chuàng)建成功'."\n"; } /*創(chuàng)建/admin/config.php文件*/ if(!file_exists('./admin/config.php')){ if(copy('./common/config.php','./admin/config.php')){ echo 'admin/config.php創(chuàng)建成功!'."\n"; }else{ echo 'admin/config.php創(chuàng)建失敗!'."\n"; } } /*生成安裝鎖install.lock*/ touch('install.lock'); echo '配置結(jié)束,如果有配置失敗的,請(qǐng)手工執(zhí)行'."\n"; clearstatcache(); } ?>
在終端執(zhí)行:
效果:
很顯然,admin/config.php已經(jīng)被創(chuàng)建,uploads目錄也創(chuàng)建了,install.lock也有了。PHP實(shí)現(xiàn)自動(dòng)化配置就是這么簡(jiǎn)單!
以上這篇PHP網(wǎng)站自動(dòng)化配置的實(shí)現(xiàn)方法(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用composer命令加載vendor中的第三方類庫(kù) 的方法
這篇文章主要介紹了使用composer命令加載vendor中的第三方類庫(kù)的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Laravel 5使用Laravel Excel實(shí)現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出的功能詳解
這篇文章主要給大家介紹了關(guān)于在Laravel 5中如何使用Laravel Excel實(shí)現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下。2017-10-10CentOS下與Apache連接的PHP多版本共存方案實(shí)現(xiàn)詳解
這篇文章主要介紹了CentOS下與Apache連接的PHP多版本共存方案實(shí)現(xiàn),針對(duì)mod_fcgi模塊的配置作了一些說(shuō)明,需要的朋友可以參考下2015-12-12thinkPHP5.0框架整體架構(gòu)總覽【應(yīng)用,模塊,MVC,驅(qū)動(dòng),行為,命名空間等】
這篇文章主要介紹了thinkPHP5.0框架整體架構(gòu),簡(jiǎn)單介紹了thinkPHP5.0的應(yīng)用,模塊,MVC,驅(qū)動(dòng),行為,命名空間等概念與基本用法,需要的朋友可以參考下2017-03-03php框架CodeIgniter主從數(shù)據(jù)庫(kù)配置方法分析
這篇文章主要介紹了php框架CodeIgniter主從數(shù)據(jù)庫(kù)配置方法,結(jié)合實(shí)例形式分析了CodeIgniter框架主從數(shù)據(jù)庫(kù)配置方法、模型model與控制器調(diào)用操作技巧以及相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-05-05