Перенос проекта 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. Готово.

Вам понравиться

2 комментария

  1. Илья:

    Хороший пост и отличная информация

  2. ҚазақБот:

    Спасибо БРО!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *