PHP網站自動化配置的實現


一直都在用yii2做項目,有在用自動化配置,但是沒有自己去配置過。中午沒事去看了下yii的初始化代碼,發現都是php而已!

yii2初始化項目代碼

所以,我們做項目肯定是可以用php做的,於是我新建了個文件夾,名為autoConfig,里面創建了個init,里面寫了如下代碼:

if(!file_exists('./uploads/')){
  if(!mkdir('./uploads/')){
    echo 'fail to make ./uploads/ file!';
  }else{
    echo 'make ./uploads/ success!';
  }

}

也就是一個非常簡單的自動創建uploads文件夾的代碼,當uploads文件夾不存在時候,自動創建uploads文件夾。 我們在終端執行下:

自動創建配置

打開同級目錄,發現uploads文件夾已經被創建。所以,如果我們要創建配置信息,可以直接采用php代碼來配置,並沒有什么很高深的東西。

我再寫個demo2:

目標:

1.在網站根目錄創建uploads目錄

2.從common目錄復制config.php模板到admin目錄里面

3.在根目錄生成一個install.lock文件

4.如果網站初始化后,必須刪除根目錄的install.lock,否則無法重復初始化

好了,我們看下我們現在的目錄結構:

把init的代碼改為如下:

<?php
//設置長連接,以便可視化看到每個步驟執行情況
header("Connection: Keep-Alive");
header("Proxy-Connection: Keep-Alive");
set_time_limit(0);
/*判斷是否重復初始化*/
if(file_exists('./install.lock')){
  echo '系統已經初始化過了,如果要重新初始化,請刪除install.lock'."<br>";
}
/*創建uploads文件夾*/
if(!file_exists('./uploads/')){
  if(!mkdir('./uploads/')){
    echo '無法在根目錄創建uploads文件夾'."\n";
  }else{
    echo 'uploads文件夾創建成功'."\n";
  }
  /*創建/admin/config.php文件*/
if(!file_exists('./admin/config.php')){
  if(copy('./common/config.php','./admin/config.php')){
    echo 'admin/config.php創建成功!'."\n";
  }else{
    echo 'admin/config.php創建失敗!'."\n";
  }
}
  /*生成安裝鎖install.lock*/
  touch('install.lock');
echo '配置結束,如果有配置失敗的,請手工執行'."\n";
  clearstatcache();
}
?>

在終端執行:

效果:

很顯然,admin/config.php已經被創建,uploads目錄也創建了,install.lock也有了。PHP實現自動化配置就是這么簡單!

本人博客原文:PHP網站自動化配置的實現http://www.wangtuizhijia.com/archives/217


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM