2

Я заметил, что Laravel 5.3 занимает около 41 МБ в среднем на дисковое пространство для каждого проекта.Как я могу установить один Laravel PHP с несколькими проектами?

Есть ли способ настроить вещи так, чтобы Laravel устанавливался один раз на моем PHP-сервере (который посвящен только материалам 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 нет никакой реальной выгоды от этого, и вы в какой-то момент просите о проблемах, так как в какой-то момент вы просто наступаете на проблемы, вызванные, например, обновлением, не говоря уже о зависимостях. Если на вашей планете 1 МБ пространства на жестком диске не стоит на ногах и почках, вы потеряете больше, чем сможете. –

ответ

2

Вы можете использовать символические ссылки, я никогда не пробовал это, но я предполагаю, что это потребует создания отдельных каталогов для каждого приложения, а затем создания символических ссылок в общий каталог поставщиков (включая Laravel).

Это позволит вам отдельно управлять всеми конкретными файлами приложения, но совместно использовать зависимости. Однако обратите внимание, что если ваши файлы composer.json имеют разные версии, вы можете столкнуться с проблемами.

0

Ну, решение, которое я сделал в последний раз, когда я пробовал это, было немного другим. Для любых средств я считаю, что это хороший или лучший. но она работала до сих пор:

  • Сначала все домены загружает один и тот же проект Laravel
  • Customize провайдера маршрута сервис

Так первые изменения в RouteServiceProvider:

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'); 
      }); 
     } 
} 

После создайте файлы маршрутов. и это должно сработать ...

Смежные вопросы