Rumah  >  Artikel  >  pembangunan bahagian belakang  >  解析PHP网站自动化配置的实现方法

解析PHP网站自动化配置的实现方法

怪我咯
怪我咯asal
2017-05-29 10:40:021529semak imbas

下面小编就为大家带来一篇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(&#39;./install.lock&#39;)){
 echo &#39;系统已经初始化过了,如果要重新初始化,请删除install.lock&#39;."<br>";
}
/*创建uploads文件夹*/
if(!file_exists(&#39;./uploads/&#39;)){
 if(!mkdir(&#39;./uploads/&#39;)){
  echo &#39;无法在根目录创建uploads文件夹&#39;."\n";
 }else{
  echo &#39;uploads文件夹创建成功&#39;."\n";
 }
 /*创建/admin/config.php文件*/
if(!file_exists(&#39;./admin/config.php&#39;)){
 if(copy(&#39;./common/config.php&#39;,&#39;./admin/config.php&#39;)){
  echo &#39;admin/config.php创建成功!&#39;."\n";
 }else{
  echo &#39;admin/config.php创建失败!&#39;."\n";
 }
}
 /*生成安装锁install.lock*/
 touch(&#39;install.lock&#39;);
echo &#39;配置结束,如果有配置失败的,请手工执行&#39;."\n";
 clearstatcache();
}
?>

在终端执行:

效果:

很显然,admin/config.php已经被创建,uploads目录也创建了,install.lock也有了。PHP实现自动化配置就是这么简单!

Atas ialah kandungan terperinci 解析PHP网站自动化配置的实现方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn