>  기사  >  PHP 프레임워크  >  Thinkphp는 다양한 환경에서 어디에 배치되어야 합니까?

Thinkphp는 다양한 환경에서 어디에 배치되어야 합니까?

PHPz
PHPz원래의
2023-04-21 10:11:05917검색

웹 애플리케이션을 개발할 때 우리는 프로젝트 개발 속도를 높이기 위해 성숙한 PHP 프레임워크를 사용하는 경우가 많으며, 그 중 thinkphp는 널리 사용되는 프레임워크 중 하나입니다. 그러나 많은 초보자들은 thinkphp가 제대로 작동하려면 어디에 배치해야 하는지 모릅니다. 이 기사에서는 다양한 환경에서 thinkphp를 배치해야 하는 위치와 경로 정보를 구성하는 방법을 소개합니다.

1. 로컬 환경

로컬 환경에서는 일반적으로 XAMPP, WAMP 등의 통합 개발 환경을 사용하여 Apache 웹 서버와 PHP 환경을 함께 패키징합니다. 이 경우 XAMPP의 htdocs 디렉터리, WAMP의 www 디렉터리 등과 같이 웹 서버의 루트 디렉터리에 thinkphp 폴더를 직접 배치할 수 있습니다. 이런 방식으로 브라우저에서 localhost 또는 127.0.0.1을 통해 웹 사이트에 액세스할 수 있습니다. 또한 프로젝트에 데이터베이스 사용이 필요한 경우 phpMyAdmin과 같은 데이터베이스 관리 도구에서 데이터베이스를 생성하고 프로그램의 구성 파일을 통해 데이터베이스에 연결해야 합니다.

2. 가상 호스트

공유 호스팅이나 VPS(Virtual Private Server)에서는 일반적으로 가상 호스팅을 사용하여 웹사이트를 호스팅합니다. 가상 호스트의 다양한 구성에 따라 PHP 파일의 저장 위치도 달라집니다. 일반적으로 가상 호스트의 문서 루트 디렉터리는 호스트 아래에 있는 모든 웹사이트의 공통 루트 디렉터리이며 홈 디렉터리라고도 합니다. myapp이라는 하위 디렉터리에 thinkphp를 배치해야 한다고 가정하면 전체 thinkphp 폴더를 myapp 디렉터리에 업로드한 다음 해당 디렉터리에 다음 콘텐츠가 포함된 index.php 파일을 생성할 수 있습니다.

<?php
define(&#39;APP_PATH&#39;, __DIR__ . &#39;/../thinkphp/&#39;);
define(&#39;BIND_MODULE&#39;,&#39;index&#39;);
require __DIR__ . &#39;/../thinkphp/start.php&#39;;

여기서 우리는 APP_PATH 상수를 정의했습니다. thinkphp 폴더의 상위 디렉터리를 가리키는 정의 함수를 통해. 그런 다음 인덱스 모듈을 실행하고 start.php 파일을 통해 전체 프레임워크를 시작합니다. 이러한 방식으로 브라우저에서 http://yourdomain/myapp에 액세스하여 웹사이트에 액세스할 수 있습니다.

더 나아가, 다양한 애플리케이션에 대해 서로 다른 하위 디렉터리를 생성해야 하는 경우 각 애플리케이션의 홈 디렉터리를 해당 디렉터리 아래의 공용 디렉터리로 설정할 수 있습니다. 즉, 각 애플리케이션에 공용 디렉토리를 생성하고 그 안에 애플리케이션의 항목 파일을 배치해야 합니다.

/project1
    /application
        /controller
        /model
        /view
        /...
    /public
        /index.php
        /assets
            /css
            /js
            /images
            /...
        /...
/project2
    /application
    /public
        /index.php
/project3
    /application
    /public
        /index.php

이는 보다 일반적인 방법입니다. 왜냐하면 공용 디렉토리에 있는 모든 항목에 액세스할 수 있기 때문입니다. 웹 서버를 통해 직접 액세스할 수 있지만 애플리케이션 디렉터리의 코드 파일에는 직접 액세스할 수 없습니다.

3. 원격 서버

원격 서버에서 애플리케이션을 호스팅하는 경우 공개 디렉터리에 배치하세요. Linux 서버를 사용하는 경우 thinkphp 폴더를 /var/www/html 디렉터리 바로 아래에 배치할 수 있습니다. Windows 서버를 사용하는 경우 C:inetpubwwwroot 디렉터리에 배치할 수 있습니다. 물론, 직접 구축한 가상 호스트 서버를 사용하는 경우 가상 호스트 제어판에서 설정한 디렉터리를 기반으로 응용 프로그램이 저장되는 위치를 결정할 수 있습니다.

원격 서버에서는 프레임워크가 제대로 실행될 수 있도록 thinkphp 경로 정보도 구성해야 합니다. /var/www/html/thinkphp 아래에 프레임워크 디렉터리를 배치했다고 가정하면 기본 구성 파일인 config.php를 수정하고 다음 내용을 추가해야 합니다.

&#39;url_common_param&#39;       => true,
'url_route_on'           => true,
'url_route_must'         => false,
'url_html_suffix'        => '',
'app_debug'              => true,
'unix_socket'            => '/var/run/mysqld/mysqld.sock',
'app_path'               => realpath(__DIR__.'/../application') . '/',

여기서 app_path를 thinkphp 폴더가 있는 경로로 구성합니다. 위치는 프레임워크에 애플리케이션의 코드 파일을 찾을 위치를 알려줍니다. PHP에서는 현재 작업 디렉터리를 가져오는 것이 아니라 현재 파일의 디렉터리를 가져오려면 __DIR__(이중 밑줄)을 사용하세요. 따라서 realpath(__DIR__.'/../application')은 thinkphp의 상위 디렉토리 아래의 애플리케이션 디렉토리 경로를 표현한다.

4. 요약

로컬 환경이든, 가상 호스트이든, 원격 서버이든, 프레임워크가 정상적으로 작동하려면 thinkphp 폴더를 올바르게 배치하고 해당 경로 정보를 구성해야 합니다. 이 문서에서는 몇 가지 일반적인 사례를 제공하지만 실제 상황에 따라 세부 조정이 필요할 수도 있습니다. 그럼에도 불구하고 thinkphp를 올바르게 배치하는 것은 개발 프로세스에서 매우 중요한 단계이며 개발한 애플리케이션이 제대로 실행되도록 보장한다는 점을 기억하십시오.

위 내용은 Thinkphp는 다양한 환경에서 어디에 배치되어야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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