# Troubleshooting OroCommerce

Most OroCommerce problems involve a few key components: the message queue and its consumers, the Symfony cache, the search index, and the runtime/database configuration. This page shows where to look and how to resolve the most common issues on TurboStack.

## Where to find the logs

OroCommerce runs under your system user, with the document root at `public_html` and the application code in the same vhost directory. Start with these:

| Component | Where |
| --- | --- |
| Nginx access/error | Host Nginx logs (see [Health](../../platform/hosts/health.md)); the OroCommerce vhost serves from `/var/www/<username>/[<app_name>/]public_html` |
| PHP-FPM | The PHP-FPM pool log for the vhost's user |
| OroCommerce application | The app's own `var/logs/` directory (e.g. `prod.log`) under the application root |
| Message queue | RabbitMQ service status and consumer output (see [Services](../../platform/hosts/services.md)) |
| Database | MySQL/Percona (or PostgreSQL) service logs |
| Platform | Host [Health](../../platform/hosts/health.md) tab; recent deploys in [History](../../platform/hosts/revisions.md) |

> [!TIP]
> Set OroCommerce to `prod` mode and watch `var/logs/prod.log` while you reproduce an issue - it usually names the failing service or class.

## Common issues

| Symptom | Likely cause | Fix |
| --- | --- | --- |
| Emails, imports or price updates never happen | Message-queue consumers not running | Start/restart the RabbitMQ consumers (`oro:message-queue:consume`) and ensure they run as persistent workers; check RabbitMQ on [Services](../../platform/hosts/services.md) |
| Storefront/admin shows stale data after a change | Symfony cache not cleared/warmed | Run `cache:clear` (and warmup) for `prod`; confirm Redis is up if used for cache |
| Search returns nothing or stale results | Website search index out of date | Run website search reindex (`oro:website-search:reindex`); ensure consumers process the indexing jobs |
| Real-time UI (notifications, sync) not updating | WebSocket server not running | Verify the Oro WebSocket (Gos) server process is running and reachable |
| 500 error or "service unavailable" after deploy | Schema migration not run, or bad `.env`/`database_url` | Check `var/logs/prod.log`; run pending migrations; verify `database_url`/Redis config and clear the cache |
| Requests time out on long admin/import actions | PHP and PHP-FPM limits | Nginx already allows a 1200s `fastcgi_read_timeout`; offload heavy work to the message queue instead of synchronous requests |
| Scheduled tasks not running | Oro cron not scheduled | Ensure `oro:cron` runs on a schedule; confirm consumers are alive to process queued cron jobs |

## A troubleshooting workflow

1. Check [Health](../../platform/hosts/health.md) - confirm CPU, memory and that Nginx, PHP-FPM, the database, Redis and RabbitMQ are running.
2. Read the relevant log - start with `var/logs/prod.log`, then the Nginx error log and PHP-FPM log for the vhost.
3. Check the last deploy in [History](../../platform/hosts/revisions.md) - if a recent change broke the site, revert or re-[Publish](../../platform/hosts/publishing.md) a known-good revision.
4. Verify services are running - on [Services](../../platform/hosts/services.md), confirm RabbitMQ and its consumers, Redis, and the WebSocket server are up. Restart any that are down and re-run cache clear/reindex if needed.

> [!WARNING]
> A site that "loads but does nothing" (no emails, no search updates, no imports) almost always means the message-queue consumers are stopped. Check them before anything else.

## Getting help

If you are stuck, gather the relevant log excerpts and the failing revision, then reach out via [Support](../../platform/support.md). For platform-wide issues, see the general [Troubleshooting](../../platform/troubleshooting.md) guide.

## Related

- [Deploy OroCommerce](deploy.md)
- [OroCommerce best practices](best-practices.md)
- [Health](../../platform/hosts/health.md)
- [Support](../../platform/support.md)
