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网站自动配置的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸
