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:
目標:
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)文章
使用composer命令加載vendor中的第三方類庫 的方法
這篇文章主要介紹了使用composer命令加載vendor中的第三方類庫的方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
Laravel 5使用Laravel Excel實現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出的功能詳解
這篇文章主要給大家介紹了關(guān)于在Laravel 5中如何使用Laravel Excel實現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下。2017-10-10
CentOS下與Apache連接的PHP多版本共存方案實現(xiàn)詳解
這篇文章主要介紹了CentOS下與Apache連接的PHP多版本共存方案實現(xiàn),針對mod_fcgi模塊的配置作了一些說明,需要的朋友可以參考下2015-12-12
thinkPHP5.0框架整體架構(gòu)總覽【應(yīng)用,模塊,MVC,驅(qū)動,行為,命名空間等】
這篇文章主要介紹了thinkPHP5.0框架整體架構(gòu),簡單介紹了thinkPHP5.0的應(yīng)用,模塊,MVC,驅(qū)動,行為,命名空間等概念與基本用法,需要的朋友可以參考下2017-03-03
php框架CodeIgniter主從數(shù)據(jù)庫配置方法分析
這篇文章主要介紹了php框架CodeIgniter主從數(shù)據(jù)庫配置方法,結(jié)合實例形式分析了CodeIgniter框架主從數(shù)據(jù)庫配置方法、模型model與控制器調(diào)用操作技巧以及相關(guān)注意事項,需要的朋友可以參考下2018-05-05

