Перенос проекта Laravel на хостинг с локального сервера OpenServer
По большому счету перенос заключается в копировании всех файлов на хостинг, изменение конфигурационных файлов .env и database.php в соответствии с настройками базы данных, перед этим очистив кэш конфигурации. Поясню последнее. Когда вы составите новый файл конфигурации, вы сможете применить его только на хостинге. В связи с этим в проекте останутся закешированные старые настройки, с которыми работали на локальном хостинге. Можно вручную решить этот вопрос — уже на хостинге зайти в папку <корневая папка>/bootstrap/cache переименовать файл config.php на config_old.php.
Для отлова ошибок нужно в файле .env выставить APP_DEBUG=true, т.к в случае ошибок будем получать ответ от сервера 500 и не сможем понять подробности проблемы. При этом сайт будет работать медленнее, чуть притормаживать. После тестового периода изменим значение на false.
Могут возникнуть проблемы с путями файлов и отправкой почты. Всё это решается непосредственно для конкретного хостинга.
Чтобы назначить корневую папку Public, я использую .htaccess с таким кодом:
RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] |
27.12.2020. Итог — коротко о главном, на примере моего последнего проекта и хостинга.
1. Копируем все файлы на хостинг.
2. Экспортируем базу данных на хостинг.
3. Копируем .env файл с настройками базы данных (при этом я не трогаю совсем database.php), только .env.
4. Переименовываю файл config.php в config_old.php, как указано выше.
5. Очищаю кэш. Для этого в файле роутов routes/web.php у меня припасена команда /clear такого вида:
Route::get('/clear', function () { Artisan::call('cache:clear'); Artisan::call('config:cache'); Artisan::call('view:clear'); Artisan::call('route:clear'); return "Кэш очищен."; }); |
6. Готово.
Хороший пост и отличная информация
Спасибо БРО!