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中如何调用webservice的实例参考
Apr 25 PHP
PHP开发微信支付的代码分享
May 25 PHP
ThinkPHP3.1新特性之G方法的使用
Jun 19 PHP
使用ThinkPHP+Uploadify实现图片上传功能
Jun 26 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
在laravel框架中实现封装公共方法全局调用
Oct 14 PHP
laravel 解决Validator使用中出现的问题
Oct 25 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下封装较好的数字分页方法
2010/11/23 PHP
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
VUE安装使用教程详解
2019/06/03 Javascript
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
Veronica Beard官网:在酷、经典和别致之间找到了平衡
2018/01/11 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
深圳茁壮笔试题
2015/05/28 面试题
药学专业毕业生求职信
2013/10/20 职场文书
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
总经理聘用协议书
2015/09/21 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python
vue elementUI批量上传文件
2022/04/26 Vue.js