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之第六天
Oct 09 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
一些需要禁用的PHP危险函数(disable_functions)
Feb 23 PHP
PHP在线生成二维码代码(google api)
Jun 03 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
php用户登录之cookie信息安全分析
May 13 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
TP5多入口设置实例讲解
Dec 15 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图像处理函数大全(推荐收藏)
2013/07/11 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
Python  pip安装lxml出错的问题解决办法
2017/02/10 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
python实现简易内存监控
2018/06/21 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
经典的班主任推荐信
2013/10/28 职场文书
大学应届生的自我评价
2014/03/06 职场文书
商场主管竞聘书
2014/03/31 职场文书
道德模范事迹材料
2014/12/20 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
Redis命令处理过程源码解析
2022/02/12 Redis