一直都在用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網站自動配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!