Я заметил, что 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.
Вы можете использовать символические ссылки, я никогда не пробовал этого, но я предполагаю, что это потребует создания отдельных каталогов для каждого приложения, а затем создания символических ссылок на общий каталог поставщика (который включает в себя Laravel).
Это позволит вам отдельно контролировать версии всех файлов приложения, но совместно использовать зависимости. Будьте осторожны, если ваш composer.json
файлы имеют разные версии в списке, вы можете столкнуться с проблемами.
Ну, решение, которое я сделал в прошлый раз, когда попробовал это, было немного другим. Для любых средств я думаю, что это хороший или лучший. но это сработало до сих пор:
Итак, сначала изменения в 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');
});
}
}
После создания файлов маршрута. и это должно работать …