Общие проблемы и решения
Исчерпывающее руководство по наиболее распространённым проблемам и их решениям.
Проблемы установки
Белая страница после установки
Причина: Обычно проблема с правами доступа к файлам.
Решение:
# Проверить лог Laravel
tail -50 storage/logs/laravel.log
# Исправить права доступа
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache
Ошибки «Class Not Found»
Причина: Зависимости Composer не установлены или автозагрузчик не сгенерирован.
Решение:
composer install --no-dev --optimize-autoloader
php artisan config:clear
Установщик показывает «Already Installed»
Причина: Файл storage/installed.lock существует.
Решение: Если нужно повторно запустить установщик:
rm storage/installed.lock
Затем снова перейдите на /install.
CSS/JS не загружаются (страница без стилей)
Причина: Отсутствует символическая ссылка на хранилище или проблема с путём к ресурсам.
Решение:
php artisan storage:link
php artisan config:clear
php artisan view:clear
Также проверьте, что APP_URL в .env соответствует вашему реальному домену (включая https://).
Проблемы с базой данных
«SQLSTATE[HY000] [2002] Connection Refused»
Причина: MySQL не запущен или неверный хост.
Решение:
- Проверьте, запущен ли MySQL:
sudo systemctl status mysql - Попробуйте
127.0.0.1вместоlocalhostв.env - Проверьте порт (по умолчанию: 3306)
«SQLSTATE[HY000] [1045] Access Denied»
Причина: Неверные учётные данные базы данных.
Решение:
- Проверьте имя пользователя/пароль в
.env - Проверьте соединение:
mysql -u your_user -p your_database - Повторно предоставьте права:
GRANT ALL PRIVILEGES ON feedbackpulse.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
Эмодзи отображаются как ????
Причина: Кодировка базы данных — utf8 вместо utf8mb4.
Решение:
ALTER DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Про блемы с веб-сервером
Все маршруты возвращают 404
Решение для Apache:
sudo a2enmod rewrite
sudo systemctl restart apache2
Убедитесь, что AllowOverride All установлено в конфигурации виртуального хоста.
Решение для Nginx: Убедитесь, что серверный блок содержит:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
502 Bad Gateway (Nginx)
Причина: PHP-FPM не запущен или неверный путь к сокету.
Решение:
sudo systemctl restart php8.4-fpm
# Проверить путь к сокету
ls /var/run/php/php8.4-fpm.sock
413 Request Entity Too Large
Причина: Слишком низкий лимит размера загрузки.
Решение (Nginx):
client_max_body_size 20M;
Решение (PHP):
upload_max_filesize = 20M
post_max_size = 25M
Проблемы с аутентификацией
«CSRF Token Mismatch» (ошибка 419)
Причина: Истекла сессия или проблема с cookie.
Решение:
- Очистите cookie браузера и попробуйте снова
- Проверьте
SESSION_DOMAINв.env(установите.yourdomain.comдля поддоменов) - Убедитесь, что
SESSION_SECURE_COOKIE=trueтолько при использовании HTTPS
Невозможно войти после сброса пароля
Причина: Браузер кэшировал старую сессию.
Решение: Очистите cookie браузера или используйте режим инкогнито.