2

Laravel 5.3은 프로젝트 당 평균 디스크 공간이 약 41MB 인 것으로 나타났습니다.여러 프로젝트에서 Laravel PHP를 어떻게 설치하나요?

내 PHP 서버 (Laravel 전용 자료 전용)에 Laravel을 한 번 설치 한 다음 여러 프로젝트 (일부는 별도 도메인으로, 일부는 하위 디렉토리로)를 사용하도록 구성하는 깔끔한 방법이 있습니까? Laravel 인스턴스?

예를 들어/usr/share/laravel을 가지고 거기에 모든 것을 넣을 수 있지만/var/www에는 각 도메인을 넣을 수 있습니다 (/var/www/test1.com,/var). /www/test2.com) 및 도메인의 하위 폴더 (/var/www/test1.com/project2)에서 모두 동일한/usr/share/laravel을 사용합니다.

+0

IMHO 이렇게하면 실질적인 이점은 없으며 어느 시점에서 문제가 발생하면 업그레이드로 인한 문제 (예 : 종속성은 말할 것도 없습니다)를 처리 할 수 ​​있습니다. 당신의 행성에서 1MB의 HDD 공간이 다리와 신장에 드는 비용을 제외하면, 당신은 얻는 것보다 더 많은 것을 낭비하게됩니다. –

답변

2

당신은 symlinks를 사용할 수 있습니다. 나는 이것을 시도한 적이 없지만 각 응용 프로그램마다 별도의 디렉토리를 만든 다음 공유 공급 업체 디렉토리 (Laravel 포함)로 심볼릭 링크를 만드는 것이 필요합니다.

이렇게하면 모든 응용 프로그램 관련 파일을 별도로 버전을 제어 할 수 있지만 종속성을 공유 할 수 있습니다. 그러나 composer.json 파일의 버전이 다르면 문제가 발생할 수 있습니다.

0

내가 마지막으로 시도한 해결책은 약간 달랐습니다. 어떤 수단이라도 나는 그것이 좋은 것 또는 가장 좋은 것이라고 생각합니다. 하지만 지금까지 근무하고있다 : 후

public function map(Router $router) 
{ 
     if (strstr(Request::getHost(), 'domain_one')) { 
      $router->group([ 
       'namespace' => $this->namespace, 
       'middleware' => ['default_middle_wares'], 
      ], function ($router) { 
       require app_path('Http/Routes/domain_one.php'); 
      }); 
     } 

     if (strstr(Request::getHost(), 'domain_two')) { 
      $router->group([ 
       'namespace' => $this->namespace, 
       'middleware' => ['default_middle_wares'], 
      ], function ($router) { 
       require app_path('Http/Routes/domain_two.php'); 
      }); 
     } 
} 

:

  • 우선 도메인은
  • 사용자 정의 경로 서비스 제공

그래서 먼저 변경됩니다 RouteServiceProvider에 동일한 laravel 프로젝트를로드 경로 파일을 만듭니다. 그리고 그것은 작동해야합니다 ...