I have been using yii2 for projects, and I have used automated configuration, but I have never configured it myself. I had nothing to do at noon and took a look at the initialization code of yii, and found that it was all php!
yii2Initialize the projectCode
So, our project can definitely be done with php, so I created a new folder named autoConfig, An init was created inside, and the following code was written in it:
if(!file_exists('./uploads/')){ if(!mkdir('./uploads/')){ echo 'fail to make ./uploads/ file!'; }else{ echo 'make ./uploads/ success!'; } }Copy after login
It is a very simple code that automatically creates the uploads folder. When the uploads folder does not exist, uploads is automatically created. folder. We execute in the terminal:
Automatically create configuration
Open the same-level directory and find that the uploads folder has been created. Therefore, if we want to create configuration information, we can directly use php code to configure it. There is nothing very profound.
I will write another demo2:
Goal:
1.Create the uploads directory in the root directory of the website
2.Copy config.php from the common directory Put the template into the admin directory
3. Generate an install.lock file in the root directory
4. If the website is initialized, it mustdelete install.lock in the root directory, otherwise it cannot be initialized repeatedly
Okay, let’s take a look at our current directory structure:
Change the init code to the following:
<?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(); } ?>Copy after login
Execute in the terminal:
Effect:
Obviously, admin/config.php has been created, the uploads directory has also been created, and install.lock also exists. Automated configuration with PHP is so simple!
The above is the detailed content of PHP website automatic configuration. For more information, please follow other related articles on the PHP Chinese website!