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 相关文章推荐
模仿OSO的论坛(三)
Oct 09 PHP
php Undefined index和Undefined variable的解决方法
Mar 27 PHP
php中用数组的方法设置cookies
Apr 21 PHP
php实现简单洗牌算法
Jun 18 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
PHP7匿名类的用法示例
Apr 05 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
PHP时间相关常用函数用法示例
Jun 03 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
搭建自己的PHP MVC框架详解
2017/08/16 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
2013/09/16 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
2014/11/02 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
vue如何截取字符串
2019/05/06 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
python如何实现int函数的方法示例
2018/02/19 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
python线程中的同步问题及解决方法
2019/08/29 Python
游戏商店:Eneba
2020/04/25 全球购物
历史学专业推荐信
2013/11/06 职场文书
大学老师推荐信
2014/02/25 职场文书
美术毕业生求职信
2014/02/25 职场文书
反腐倡廉标语
2014/06/24 职场文书
场地使用证明模板
2014/10/25 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
归途列车观后感
2015/06/17 职场文书
Python中递归以及递归遍历目录详解
2021/10/24 Python
MySQL 数据库范式化设计理论
2022/04/22 MySQL