>  기사  >  백엔드 개발  >  클라우드 가상 호스트에 thinkphp5 프로젝트를 배포하기 위한 세부 단계

클라우드 가상 호스트에 thinkphp5 프로젝트를 배포하기 위한 세부 단계

不言
不言원래의
2018-05-03 16:12:381985검색

이 글은 주로 thinkphp5 프로젝트를 클라우드 가상 호스트에 배포하는 세부 단계를 소개합니다. 이제 여러분과 공유합니다. 필요한 친구들이 참고할 수 있습니다.

Thinkphp 공식 웹사이트는 작년에 tp의 전복 버전을 출시했습니다. thinkphp5, tp5 버전은 확실히 이전 버전보다 사용하기가 훨씬 쉽기 때문에 다음 글에서는 클라우드 가상 호스트에 thinkphp5 프로젝트를 배포하는 방법에 대한 정보를 소개하겠습니다. 필요한 친구들이 참고할 수 있습니다.

머리말

Thinkphp는 오픈 소스 PHP 프레임워크로서 오늘날까지 개발되어 왔으며, 간단하고 사용하기 쉬울 뿐만 아니라 PHP 학생들이 배우고 사용하기에 가장 적합한 프레임워크입니다. , 더 큰 장점은 완전한 개발 문서와 풍부한 플러그인입니다. 이 기사에서는 클라우드 가상 호스트에 thinkphp5 프로젝트를 배포하는 관련 내용을 자세히 소개하고 참고 및 학습을 위해 공유합니다. 아래에서는 자세히 설명하지 않겠습니다. 자세한 소개를 살펴보겠습니다.

ThinkPHP5.0 전체 개발 매뉴얼->배포->가상 호스트 환경을 확인하고 상황을 파악한 후 수정을 시작하세요.

환경

  • thinkphp 5.0.11

  • Alibaba 클라우드 가상 시스템 CentOS

1단계

모바일 엔트리 파일의 위치를 ​​수정하여 다음 위치로 이동하세요. 루트 디렉터리(예: htdocs)

index.php 항목 파일 내용 수정

// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';

이제 접근은 가능하지만, 내부 페이지를 클릭하면 경로 재작성이 적용되지 않는 것을 확인할 수 있습니다. .htaccess 파일이 없기 때문입니다.

2단계

.htaccess 파일도 루트 디렉터리로 이동합니다.

지금쯤에는 문제를 해결했을 수도 있습니다. 아직 해결하지 못했다면 계속 읽어보세요.

3단계

안전!

다음 디렉터리로 항목 파일을 이동했기 때문에 해당 프레임워크 아래 디렉터리가 모두 노출되었습니다.

아파치 서버가 처리하지 못하는 경우. 그러면 중요한 파일에 직접 액세스할 수 있습니다.

처리 여부에 관계없이 해당 디렉터리 아래의 각 디렉터리에 대해 .htaccess를 직접 생성합니다. 그런 다음 모두 거부라고 씁니다.

deny from all

알겠습니다.

4단계

해결책: CSS, js, 그림 및 기타 정적 리소스에 404가 표시됩니다.

파일이 공용 디렉터리 외부로 이동되었기 때문에 파일을 찾을 수 없습니다.

모든 디렉터리 경로를 바꿔야 합니다.

__PUBLIC__, __STATIC__, __CSS__, __JS__ 등을 사용하여 작성하는 경우

축하합니다. 구성에서 view_replace_str을 직접 변경하세요.

'view_replace_str'  => [
 '__PUBLIC__' => '/public',
 '__STATIC__' => '/public/static',
 '__CSS__' => '/public/static',
 '__JS__'  => '/public/static',
],

그렇지 않으면 모든 보기 파일이 모두 사용됩니다. 전체 디렉터리를 교체합니다. 경로가 사용되는 위치

/public/static

특히 간과하기 쉬운 것은 CSS의 배경 경로와 사용자 정의 업로드 경로입니다. 주의하세요.

5단계

Linux의 파일 경로는 대소문자를 구분합니다.

예를 들어,

컨트롤러 메소드 이름은 public function userCenter()

해당 뷰 파일은 userCenter.html,

그런 다음 액세스하면 뷰 파일을 찾을 수 없으며 오류가 보고됩니다.

해결책:

방법 1, 템플릿 파일 이름을 모두 소문자로 변경합니다.

방법 2, $this->fetch('템플릿 파일 이름')

방법 3, $this->fetch(__FUNCTION__), 그러나 뷰 파일 이름은 메소드 이름과 동일해야 합니다.

웹사이트의 모든 기능을 테스트해 보세요. 문제 없습니다. 배포 및 구성이 완료되었습니다.

관련 권장 사항:

thinkphp5 인스턴스의 간단한 구현에 대한 간략한 토론

위 내용은 클라우드 가상 호스트에 thinkphp5 프로젝트를 배포하기 위한 세부 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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