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网站自动化配置的实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

时间: 2024-10-23 08:53:37

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

thrift安装遇到的问题以及解决方法(必看篇)_Linux

1. 必须安装boost.最新的稳定版是1.48.0. 1.1.先下载:http://sourceforge.NET/projects/boost/files/boost/1.48.0/          选择tar.gz包,     下载后我解压到了/usr/local/boost_1_48下:tar zxvf boost1.48.0 -C /usr/local/boost_1_48 1.2.安装过程和以前的老版本有些不同,看自带软件包里的index.html就可以了:     主要内容涉及到

RSA加密算法java简单实现方法(必看)_java

简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码. package security; import java.security.*; import java.security.spec.*; import java.security.interfaces.*; import javax.crypto.spec.*; import javax.crypto.interfaces.*; import ja

js两种拼接字符串的简单方法(必看)_javascript技巧

如下所示: function(msgArr) { var len = msgArr.length; var n = 0 ; var htmlSpan = ""; for (var j = 0; j < len - 1; j++) { htmlSpan += '<span>·</span>'; } htmlSpan += '<span class="on">·</span>'; var imgs = []; var

js删除数组元素、清空数组的简单方法(必看)_javascript技巧

一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删除数组元素 var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置. 三,js 删除数组几种方法 var arr=['a','b','c

php操作路径的经典方法(必看篇)_php实例

如下所示: function create_folders($dir){ return is_dir($dir) or ( create_folders( dirname( $dir ) ) and mkdir($dir, 0777) ); } function mkdirs($dir, $mode=0777){ if (is_dir($dir) || @mkdir($dir, $mode)) return true; if (!mkdirs(dirname($dir), $mode)) ret

jquery 动态增加,减少input表单的简单方法(必看)_jquery

html代码如下 <html> <tr><button style="margin-left:10px" class="add_field_button btn">Add</button></tr> <tbody class="input_fields_wrap"></tbody> </html> js代码如下 <script> var m

Android设置Activity背景为透明style的简单方法(必看)_Android

方法一: 通过Theme.Translucent @android:style/Theme.Translucent @android:style/Theme.Translucent.NoTitleBar @android:style/Theme.Translucent.NoTitleBar.Fullscreen 只需要在Manifest中需要透明的Activity内设置theme为以上任意一个就可以了 <activity android:name="com.vixtel.simulate.

使用PHPExcel实现数据批量导出为excel表格的方法(必看)

首先需要下载PHPExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法. 下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子 前台页面 比较简单,就是一个超链接,跳转到处理页面,超链接也可以跟一些参数(看需求)! <a href="./Process1.php" rel="external nofollow" >导出excel表格</a> 后台Process.php页面 /** * 批量

ajax调用返回php接口返回json数据的方法(必看篇)

php代码如下: <?php header('Content-Type: application/json'); header('Content-Type: text/html;charset=utf-8'); $email = $_GET['email']; $user = []; $conn = @mysql_connect("localhost","Test","123456") or die("Failed in conn