Перейти к основному содержимому

Общие проблемы и решения

Исчерпывающее руководство по наиболее распространённым проблемам и их решениям.


Проблемы установки

Белая страница после установки

Причина: Обычно проблема с правами доступа к файлам.

Решение:

# Проверить лог 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 браузера или используйте режим инкогнито.

Социальный вход возвращает ошибку

Причина: Несоответствие URL обратного вызова.

Решение: Убедитесь, что URL обратного вызова в консоли Google/GitHub точно соответствует:

  • Google: https://yourdomain.com/auth/google/callback
  • GitHub: https://yourdomain.com/auth/github/callback

Проблемы с платежами

Смотрите Проблемы платёжного шлюза для подробного устранения неполадок платежей.


Проблемы с email

Смотрите Email не отправляется для подробного устранения неполадок email.


Проблемы с производительностью

Смотрите Оптимизация производительности для советов по оптимизации.


Проблемы с кэшем

При возникновении сомнений очистите все кэши:

php artisan optimize:clear

Это очищает:

  • Кэш конфигурации
  • Кэш маршрутов
  • Кэш представлений
  • Кэш приложения
  • Кэш скомпилированных классов

Режим отладки (временный)

Для просмотра детальных сообщений об ошибках:

  1. Отредактируйте .env:
APP_DEBUG=true
LOG_LEVEL=debug
  1. Воспроизведите ошибку
  2. Проверьте страницу ошибки или storage/logs/laravel.log
  3. Немедленно установите APP_DEBUG=false, когда закончите!
warning

Никогда не оставляйте APP_DEBUG=true в продакшене. Это раскрывает конфиденциальную информацию.


Получение помощи

Если ни одно из вышеперечисленных решений не помогло:

  1. Проверьте storage/logs/laravel.log для полной трассировки ошибок
  2. Проверьте лог ошибок веб-сервера (/var/log/nginx/error.log или /var/log/apache2/error.log)
  3. Поищите похожие проблемы в комментариях к товару на CodeCanyon
  4. Откройте тикет поддержки, указав:
    • Сообщение об ошибке (из лога)
    • Версию PHP (php -v)
    • Версию Laravel
    • Детали сервера (ОС, веб-сервер, версия MySQL)
    • Шаги для воспроизведения