PHP網(wǎng)站自動化配置的實現(xiàn)方法(必看)
一直都在用yii2做項目,有在用自動化配置,但是沒有自己去配置過。中午沒事去看了下yii的初始化代碼,發(fā)現(xiàn)都是php而已!
yii2
初始化項目代碼
所以,我們做項目肯定是可以用php做的,于是我新建了個文件夾,名為autoConfig,里面創(chuàng)建了個init,里面寫了如下代碼:
if(!file_exists('./uploads/')){
if(!mkdir('./uploads/')){
echo 'fail to make ./uploads/ file!';
}else{
echo 'make ./uploads/ success!';
}
}
也就是一個非常簡單的自動創(chuàng)建uploads文件夾的代碼,當(dāng)uploads文件夾不存在時候,自動創(chuàng)建uploads文件夾。 我們在終端執(zhí)行下:

自動創(chuàng)建配置
打開同級目錄,發(fā)現(xiàn)uploads文件夾已經(jīng)被創(chuàng)建。所以,如果我們要創(chuàng)建配置信息,可以直接采用php代碼來配置,并沒有什么很高深的東西。
我再寫個demo2:
目標(biāo):
1. 在網(wǎng)站根目錄創(chuàng)建uploads目錄
2. 從common目錄復(fù)制config.php模板到admin目錄里面
3. 在根目錄生成一個install.lock文件
4. 如果網(wǎng)站初始化后,必須刪除根目錄的install.lock,否則無法重復(fù)初始化
好了,我們看下我們現(xiàn)在的目錄結(jié)構(gòu):

把init的代碼改為如下:
<?php
//設(shè)置長連接,以便可視化看到每個步驟執(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)初始化過了,如果要重新初始化,請刪除install.lock'."<br>";
}
/*創(chuàng)建uploads文件夾*/
if(!file_exists('./uploads/')){
if(!mkdir('./uploads/')){
echo '無法在根目錄創(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é)束,如果有配置失敗的,請手工執(zhí)行'."\n";
clearstatcache();
}
?>
在終端執(zhí)行:

效果:

很顯然,admin/config.php已經(jīng)被創(chuàng)建,uploads目錄也創(chuàng)建了,install.lock也有了。PHP實現(xiàn)自動化配置就是這么簡單!
以上這篇PHP網(wǎng)站自動化配置的實現(xiàn)方法(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
php版微信開發(fā)之接收消息,自動判斷及回復(fù)相應(yīng)消息的方法
這篇文章主要介紹了php版微信開發(fā)之接收消息,自動判斷及回復(fù)相應(yīng)消息的方法,涉及基于微信消息處理接口的調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2016-09-09
PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(四)
這篇文章主要介紹了PHP網(wǎng)頁游戲Xnova(ogame)源碼解讀的用戶登錄頁面,需要的朋友可以參考下2014-06-06

