PHP网站自动化配置的实现方法(必看)


Posted in PHP onMay 27, 2017

一直都在用yii2做项目,有在用自动化配置,但是没有自己去配置过。中午没事去看了下yii的初始化代码,发现都是php而已!

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文件夹。 我们在终端执行下:

PHP网站自动化配置的实现方法(必看)

自动创建配置

打开同级目录,发现uploads文件夹已经被创建。所以,如果我们要创建配置信息,可以直接采用php代码来配置,并没有什么很高深的东西。

我再写个demo2:

目标:

1. 在网站根目录创建uploads目录

2. 从common目录复制config.php模板到admin目录里面

3. 在根目录生成一个install.lock文件

4. 如果网站初始化后,必须删除根目录的install.lock,否则无法重复初始化

好了,我们看下我们现在的目录结构:

PHP网站自动化配置的实现方法(必看)

把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();
}
?>

在终端执行:

PHP网站自动化配置的实现方法(必看)

效果:

PHP网站自动化配置的实现方法(必看)

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

以上这篇PHP网站自动化配置的实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP中文件上传的一个问题
Sep 04 PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 PHP
PHP之autoload运行机制实例分析
Aug 28 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
php反射类ReflectionClass用法分析
May 12 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
Laravel模型事件的实现原理详解
Mar 14 PHP
PHP中的函数声明与使用详解
May 27 #PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
May 26 #PHP
Yii2实现ActiveForm ajax提交
May 26 #PHP
Yii2选项卡的简单使用
May 26 #PHP
PHP编程获取各个时间段具体时间的方法
May 26 #PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 #PHP
PHP判断密码强度的方法详解
May 26 #PHP
You might like
简单易用的计数器(数据库)
2006/10/09 PHP
超级简单的发送邮件程序
2006/10/09 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
js初始化验证实例详解
2016/11/26 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Django REST 异常处理详解
2020/07/15 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
实验室的标语
2014/06/20 职场文书
2014离婚协议书范文
2014/09/10 职场文书
信用卡工资证明格式
2014/09/13 职场文书
婚内分居协议书范文
2014/11/26 职场文书
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
Nebula Graph解决风控业务实践
2022/03/31 MySQL