PHP网站自动化配置的实现方法(必看)

 更新时间:2017年05月27日 09:57:06   投稿:jingxian   我要评论
下面小编就为大家带来一篇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文件夹'."\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();
}
?>

在终端执行:

效果:

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

以上这篇PHP网站自动化配置的实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持澳门金沙网上娱乐。

相关文章

  • iis 7下安装laravel 5.4环境的方法教程

    iis 7下安装laravel 5.4环境的方法教程

    最近想尝试体验下laravel框架,所以自己尝试在iis 7下安装laravel 5.4环境,虽然遇到些问题,但最终都解决了,所以下面这篇文章主要给大家介绍了在iis 7下安装laravel 5.4环境的方法教程,需要的朋友可以参考下。
    2017-06-06
  • Laravel框架在本地虚拟机快速安装的方法详解

    Laravel框架在本地虚拟机快速安装的方法详解

    这篇文章主要介绍了Laravel框架在本地虚拟机快速安装的方法,结合实例形式较为详细的分析了Laravel框架的安装步骤、操作注意事项,并附带说明了centos7环境下php7编译安装curl扩展的具体操作步骤,需要的朋友可以参考下
    2018-06-06
  • PHP中static关键字以及与self关键字的区别

    PHP中static关键字以及与self关键字的区别

    这篇文章主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义、迟绑定(Late Static Bindings)、以及与self关键字的区别等内容,需要的朋友可以参考下
    2015-07-07
  • yii2实现

    yii2实现 "上一篇,下一篇" 功能的代码实例

    在很多页面上都需要加入上一篇,下一篇 按钮,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • PHP数组和explode函数示例总结

    PHP数组和explode函数示例总结

    有关php分割字符串explode函数的用法,使用explode函数将字符串分割到数组,这里给大家总结了几个示例,需要的朋友参考下。
    2015-05-05
  • smarty模板引擎基础知识入门

    smarty模板引擎基础知识入门

    这篇文章主要介绍了smarty模板引擎基础知识入门,较为详细的分析了smarty的基本概念并实例分析了相关的基本用法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Laravel5.4简单实现app接口Api Token认证方法

    Laravel5.4简单实现app接口Api Token认证方法

    这篇文章主要介绍了Laravel5.4简单实现app接口Api Token认证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 适合PHP初学者阅读的4本经典书籍

    适合PHP初学者阅读的4本经典书籍

    这篇文章主要为大家详细介绍了适合PHP初学者阅读的4本经典书籍,提高大家的php开发水平,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Zend Framework入门教程之Zend_Registry组件用法详解

    Zend Framework入门教程之Zend_Registry组件用法详解

    这篇文章主要介绍了Zend Framework入门教程之Zend_Registry组件用法,结合实例形式分析了Zend_Registry组件实现对象注册的设置、获取、判断、删除等操作常用技巧,需要的朋友可以参考下
    2016-12-12
  • thinkPHP框架单元测试库tpunit用法示例

    thinkPHP框架单元测试库tpunit用法示例

    这篇文章主要介绍了thinkPHP框架单元测试库tpunit用法,结合实例形式分析了tpunit简单使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-08-08

最新评论