2 ответа

Ответить
4
Принятый ответ

Бери и закидывай весь ларавел в папку выше public_html, а в public_html клади только содержимое public. В index.php поправь пути к bootstrap/app.php и vendor/autoload.php. Я так всегда делаю на shared, норм работает. Если есть ssh – юзай symlink, ещё проще.

0

Дополнительно к переносу кода стоит сразу заняться окружением и кэшами. На shared-хостинге часто нет доступа к консоли, поэтому подготовьте зависимости локально: выполните composer install --no-dev --optimize-autoloader и загружайте уже готовый vendor. После загрузки обязательно удалите bootstrap/cache/*.php и прогоните php artisan config:clear, иначе на боевом сервере останутся пути с вашего компьютера.

Проверьте, что хостинг позволяет сменить document root на подпапку — тогда можно указать домен прямо на public и не возиться с симлинками. Если такой опции нет, используйте .htaccess в public_html для редиректа, но это менее надёжно.

Не забудьте про права: storage и bootstrap/cache должны быть доступны для записи (обычно 755 для папок, 644 для файлов). Настройте cron для планировщика: php artisan schedule:run каждую минуту — иначе очереди и отложенные задачи не будут работать. И обязательно включите PHP 8.x и нужные расширения (pdo_mysql, mbstring, openssl) в панели хостинга — без них Laravel не стартует.

Ваш ответ

Минимум 20 символов (0/20)

, чтобы ответ был привязан к аккаунту

Похожие вопросы