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 相关文章推荐
怎样在UNIX系统下安装MySQL
Oct 09 PHP
php 破解防盗链图片函数
Dec 09 PHP
php 分页函数multi() discuz
Jun 21 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
简单的cookie计数器实现源码
Jun 07 PHP
PHP引用符&amp;的用法详细解析
Aug 22 PHP
php中使用sftp教程
Mar 30 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
实现PHP搜索加分页
Oct 12 PHP
PHP中empty,isset,is_null用法和区别
Feb 19 PHP
详解PHP队列的实现
Mar 14 PHP
PHP 技巧 * SVG 保存为图片(分享图生成)
Apr 02 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
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
Python中下划线的使用方法
2015/03/27 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
python3 kubernetes api的使用示例
2021/01/12 Python
加拿大城市本地限时优惠:Buytopia.ca
2018/09/19 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
创意广告词
2014/03/17 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js