>  기사  >  백엔드 개발  >  PHP 웹사이트 자동 구성을 구현하는 방법

PHP 웹사이트 자동 구성을 구현하는 방법

伊谢尔伦
伊谢尔伦원래의
2017-07-01 09:25:341112검색

PHP 웹사이트의 자동 구성을 구현하는 방법에 대한 기사를 가져옵니다(필독). 꽤 좋은 것 같아서 지금 공유해서 참고용으로 올려보겠습니다.

저는 프로젝트에 yii2를 사용해왔고, 자동화된 구성도 사용해봤지만 직접 구성한 적은 없습니다. 점심시간에 할 일이 없어서 Yii의 초기화 코드를 살펴보니 다 그냥 PHP였네요!

yii2

초기화 프로젝트code

그래서 우리 프로젝트는 확실히 PHP로 할 수 있어서 autoConfig라는 폴더를 새로 만들고 그 안에 init를 만들고 다음 코드를 작성했습니다.

if(!file_exists('./uploads/')){
 if(!mkdir('./uploads/')){
  echo 'fail to make ./uploads/ file!';
 }else{
  echo 'make ./uploads/ success!';
 }

}

업로드 폴더가 없을 때 업로드 폴더를 자동으로 생성해주는 아주 간단한 코드입니다. 터미널에서 다음을 실행합니다.

자동으로 구성 생성

동일한 레벨 디렉터리를 열고 업로드 폴더가 생성되었는지 확인합니다. 따라서 구성 정보를 생성하려면 PHP 코드를 직접 사용하여 구성할 수 있습니다.

목표:

1. 웹사이트의 루트 디렉토리에 uploads 디렉토리를 생성합니다.

2. config.php 템플릿을 admin 디렉토리에 복사합니다.

3. 루트 디렉터리의 lock 파일

4. 웹사이트가 초기화되면 루트 디렉터리의 install.lock을 삭제해야 합니다. 그렇지 않으면 다시 초기화할 수 없습니다.

자, 현재 디렉토리를 살펴보겠습니다. 구조:

초기화 코드를 다음과 같이 변경하세요:

<?php
//设置长连接,以便可视化看到每个步骤执行情况
header("Connection: Keep-Alive");
header("Proxy-Connection: Keep-Alive");
set_time_limit(0);
/*判断是否重复初始化*/
if(file_exists(&#39;./install.lock&#39;)){
 echo &#39;系统已经初始化过了,如果要重新初始化,请删除install.lock&#39;."<br>";
}
/*创建uploads文件夹*/
if(!file_exists(&#39;./uploads/&#39;)){
 if(!mkdir(&#39;./uploads/&#39;)){
  echo &#39;无法在根目录创建uploads文件夹&#39;."\n";
 }else{
  echo &#39;uploads文件夹创建成功&#39;."\n";
 }
 /*创建/admin/config.php文件*/
if(!file_exists(&#39;./admin/config.php&#39;)){
 if(copy(&#39;./common/config.php&#39;,&#39;./admin/config.php&#39;)){
  echo &#39;admin/config.php创建成功!&#39;."\n";
 }else{
  echo &#39;admin/config.php创建失败!&#39;."\n";
 }
}
 /*生成安装锁install.lock*/
 touch(&#39;install.lock&#39;);
echo &#39;配置结束,如果有配置失败的,请手工执行&#39;."\n";
 clearstatcache();
}
?>

터미널에서 실행:

효과:

분명히 admin/config.php가 생성되었고 uploads 디렉토리가 도 생성되었고, install.lock도 생성되었습니다. PHP를 사용한 자동 구성은 매우 간단합니다!

위 내용은 PHP 웹사이트 자동 구성을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.