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设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
ThinkPHP验证码和分页实例教程
Aug 22 PHP
php上传文件问题汇总
Jan 30 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
Dec 14 PHP
PHP自带方法验证邮箱是否存在
Feb 01 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
php实现文章置顶功能的方法
Oct 20 PHP
laravel中命名路由的使用方法
Feb 24 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 PHP
php使用curl模拟多线程实现批处理功能示例
Jul 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
一个域名查询的程序
2006/10/09 PHP
推荐php模板技术[转]
2007/01/04 PHP
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
php并发加锁示例
2016/10/17 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
python抓取最新博客内容并生成Rss
2015/05/17 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
python实现求最长回文子串长度
2018/01/22 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
护士的岗位职责
2013/12/04 职场文书
生产车间班组长岗位职责
2014/01/06 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
户外宣传策划方案
2014/05/25 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android