Как мне установить один Laravel PHP с несколькими проектами?

Я заметил, что Laravel 5.3 занимает в среднем около 41 МБ дискового пространства на проект.

Есть ли простой способ настроить вещи так, чтобы 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.

2

Решение

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

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

2

Другие решения

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

  • Сначала все домены загружают один и тот же проект laravel.
  • настроить поставщика услуг маршрута

Итак, сначала изменения в 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');
});
}
}

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

0

По вопросам рекламы [email protected]