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 相关文章推荐
多重?l件?合查?(二)
Oct 09 PHP
比较时间段一与时间段二是否有交集的php函数
May 31 PHP
PHP时间格式控制符对照表分享
Jul 23 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
百万级别知乎用户数据抓取与分析之PHP开发
Sep 28 PHP
php编程每天必学之表单验证
Mar 01 PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
php5.x禁用eval的操作方法
Oct 19 PHP
PHP使用SOAP调用API操作示例
Dec 25 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 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伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
PHP strripos函数用法总结
2019/02/11 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
jQuery MD5加密实现代码
2010/03/15 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
python实现飞机大战项目
2020/03/11 Python
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
春风行动实施方案
2014/03/28 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
面试通知单大全
2015/04/20 职场文书
检察院起诉书
2015/05/20 职场文书
与死神共舞观后感
2015/06/15 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
java设计模式--原型模式详解
2021/07/21 Java/Android