PHP網站自動化配置的實現

來源:互聯網
上載者:User

標籤:jpg   targe   width   config   lan   dir   lock   get   www   

一直都在用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

PHP網站自動化配置的實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.