zoukankan      html  css  js  c++  java
  • PHP网站自动化配置的实现

    一直都在用yii2做项目,有在用自动化配置,但是没有自己去配置过。中午没事去看了下yii的初始化代码,发现都是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文件夹。 我们在终端执行下:

    自动创建配置

    打开同级目录,发现uploads文件夹已经被创建。所以,如果我们要创建配置信息,可以直接采用php代码来配置,并没有什么很高深的东西。

    我再写个demo2:

    目标:

    1.在网站根目录创建uploads目录

    2.从common目录复制config.php模板到admin目录里面

    3.在根目录生成一个install.lock文件

    4.如果网站初始化后,必须删除根目录的install.lock,否则无法重复初始化

    好了,我们看下我们现在的目录结构:

    把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文件夹'."
    ";
      }else{
        echo 'uploads文件夹创建成功'."
    ";
      }
      /*创建/admin/config.php文件*/
    if(!file_exists('./admin/config.php')){
      if(copy('./common/config.php','./admin/config.php')){
        echo 'admin/config.php创建成功!'."
    ";
      }else{
        echo 'admin/config.php创建失败!'."
    ";
      }
    }
      /*生成安装锁install.lock*/
      touch('install.lock');
    echo '配置结束,如果有配置失败的,请手工执行'."
    ";
      clearstatcache();
    }
    ?>

    在终端执行:

    效果:

    很显然,admin/config.php已经被创建,uploads目录也创建了,install.lock也有了。PHP实现自动化配置就是这么简单!

    本人博客原文:PHP网站自动化配置的实现http://www.wangtuizhijia.com/archives/217

  • 相关阅读:
    JDBC之——一个单线程JDBC基类和一些注意事项
    java基础之——类的初始化顺序
    java线程之——synchronized的注意细节
    java线程之——sleep()与wait()的区别
    mysql view(视图)
    select的5中子句where,group by, havaing, order by, limit的使用顺序及实例
    Django的文件下载
    Django中图片的上传并显示
    Django中 基于form的注册,基于ajax的登录
    centos7 安装zabbix3.4
  • 原文地址:https://www.cnblogs.com/jianqingwang/p/6908599.html
Copyright © 2011-2022 走看看