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
PHP脚本的10个技巧(4)
Oct 09 PHP
PHP脚本的10个技巧(2)
Oct 09 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
php操作JSON格式数据的实现代码
Dec 24 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php curl操作API接口类完整示例
May 21 PHP
php实现简单四则运算器
Nov 29 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 不使用js实现页面跳转
2014/02/11 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
asp.net和php的区别点总结
2019/10/10 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
js创建数组的简单方法
2016/07/27 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
详解flask入门模板引擎
2018/07/18 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
pytorch进行上采样的种类实例
2020/02/18 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
python实现双人五子棋(终端版)
2020/12/30 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
初一生物教学反思
2014/01/18 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
2014年元旦感言
2014/03/06 职场文书
演讲主持词
2014/03/18 职场文书
质量负责人任命书
2014/06/06 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL