Troubleshooting
Work from the outside in: server and PHP first, then the application log, then the browser console. Most “Foodomaa is broken” reports are server configuration or permissions.
Quick diagnosis
| Symptom | Likely cause | Fix |
|---|---|---|
| 500 error | PHP version, missing extension, permissions, database | Read the PHP and application logs; check the requirements page |
| Blank page | PHP fatal error or OPcache | Enable error logging, check storage/logs, restart PHP |
| 419 / CSRF error | Session domain, HTTPS mismatch, stale cookie | Clear cookies, check APP_URL and session domain, use HTTPS consistently |
| Database connection | Wrong host/port/user, missing privileges | Test from the server, check .env, confirm the user can access the database |
| Images not loading | Storage link, permissions, wrong URL | Recreate the storage link, check upload ownership, clear cache |
| CSS/JS broken | Mixed content or cache | Force HTTPS, clear CDN/browser cache, check the asset URL |
| Cron not running | Wrong user, path or schedule | Run the command manually as the web user, then fix the scheduler |
| Email not sending | SMTP credentials, port, TLS, SPF/DKIM | Send a test from the server; check spam and provider logs |
| Push not arriving | Firebase config, device token, app build | Test on a real device; check the Firebase console |
| Payment callback missing | Webhook URL, signature, firewall | Check gateway logs, public HTTPS URL, route cache |
| Map blank | API key, billing, domain restriction | Check the maps provider console and the browser console |
| App white screen | Wrong API URL, TLS, cached shell | Check the app config, clear app data, test the web URL on the device |
Where the logs are
- Application:
storage/logs/(or the path documented in your package). - Web server: the vhost error log (LiteSpeed, Nginx or Apache).
- PHP: the PHP-FPM or LiteSpeed PHP error log.
- Browser: Console and Network tabs for asset, CORS and mixed-content errors.
When you contact support
Include the Foodomaa version, the URL, the exact steps to reproduce, the error text and a screenshot. Do not send passwords, live payment keys or full database dumps. If the issue is server-level, include the PHP version and the relevant log line.
If you changed core files, say so up front. A customisation is often the cause, and it changes the fix.