Skip to content

Решение проблем ​

Диагностика типичных ошибок при установке и работе JournalPHP.

Команды приведены для локального окружения. В продакшене после docker compose добавляется -f docker-compose.prod.yml.

Контейнер app не запускается ​

bash
docker compose ps
docker compose logs db
docker compose logs app

Проверьте в .env параметры DB_DATABASE, DB_USERNAME и DB_PASSWORD.

Миграции не применились ​

Применить новые миграции:

bash
docker compose exec app php artisan migrate --force

Если база данных пересоздана пустой, удалите метку storage/.dev-initialized и перезапустите app: миграции применятся вместе с начальными данными.

bash
docker compose exec app rm -f storage/.dev-initialized
docker compose restart app

Не работают очереди, планировщик или WebSocket ​

Horizon, планировщик и Reverb запускаются через Supervisor внутри контейнера app:

bash
docker compose exec app supervisorctl status
docker compose exec app supervisorctl tail -f horizon
docker compose exec app supervisorctl tail -f reverb

Для WebSocket проверьте, что порт 9001 доступен, а переменные REVERB_* и VITE_REVERB_* в .env заполнены и согласованы — см. Конфигурация.

Фронтенд не обновляется ​

bash
docker compose logs frontend
docker compose restart frontend

Vite должен отвечать по адресу http://localhost:5173.

Письма не отправляются ​

Проверьте настройки почты и storage/logs/laravel.log — см. Почта.

Ошибки доступа к storage/ ​

bash
docker compose exec app chown -R www-data:www-data storage bootstrap/cache
docker compose exec app chmod -R 775 storage bootstrap/cache

/horizon или /log-viewer возвращает 403 ​

Доступ получают только пользователи из списков в Админ-панель → Система → Доступы — см. Адреса сервисов.

Белый экран или ошибка 500 ​

bash
docker compose logs app
docker compose exec app php artisan optimize:clear

Подробности ошибки — в storage/logs/laravel.log.

Медиафайлы не загружаются или не отображаются ​

bash
docker compose exec app php artisan storage:link

Ограничения на размер и типы файлов и учётные данные внешних хранилищ задаются в Админ-панель → Настройки → Интерфейс → Медиа — см. Настройки сайта.

При Algolia или Meilisearch проверьте ключи и запустите синхронизацию индекса — см. Поиск. Синхронизация выполняется в очереди, поэтому Horizon должен работать.

Логи ​

  • Laravel: storage/logs/laravel.log или /log-viewer
  • Контейнеры: docker compose logs <service>
  • Очереди: /horizon
  • Supervisor: docker compose exec app supervisorctl tail -f <program>
  • Фронтенд: консоль браузера

Доступ к /horizon и /log-viewer описан в разделе Адреса сервисов.

Если проблема не решена, создайте issue.

Released under the MIT License.