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 相关文章推荐
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
php中CI操作多个数据库的代码
Jul 05 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
ThinkPHP CURD方法之where方法详解
Jun 18 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
php将金额数字转化为中文大写
Jul 09 PHP
合格的PHP程序员必备技能
Nov 13 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 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实现javascript的escape和unescape函数
2013/06/29 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
ThinkPHP之getField详解
2014/06/20 PHP
php截取字符串函数分享
2015/02/02 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
Sea.JS知识总结
2016/05/05 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
深入理解Vue router的部分高级用法
2018/08/15 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
详解Python的Lambda函数与排序
2016/10/25 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
Python 自动化表单提交实例代码
2017/06/08 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
新学期标语
2014/06/30 职场文书
党员活动总结
2015/02/04 职场文书
单位病假条范文
2015/08/17 职场文书