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,ajax实现分页
Mar 27 PHP
一步一步学习PHP(3) php 函数
Feb 15 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
Mar 07 PHP
php 无限级分类 获取顶级分类ID
Mar 13 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 PHP
TP5框架安全机制实例分析
Apr 05 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
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
python中元类用法实例
2014/10/10 Python
python邮件发送smtplib使用详解
2020/06/16 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
python 使用shutil复制图片的例子
2019/12/13 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
学校运动会开幕演讲稿
2014/01/04 职场文书
班级聚会策划书
2014/01/16 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
保密协议书范本
2014/04/22 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
师德师风自查材料
2014/10/14 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
教师党员自我评价范文
2015/03/04 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers