Browse documentation

Pharos / Docs / v0.5.10

Troubleshooting

Updated 2026-09-08 · Pharos 0.5.10

Checks are not running

  1. Prove the runner works: php artisan pharos:check --force. If that works but nothing happens on its own, the scheduler is the problem.
  2. Prove the scheduler fires: php artisan schedule:run, then check the cron line uses an absolute path and the right PHP binary. On Docker, docker compose ps — the scheduler must be up.
  3. Check the component is enabled. Disabled components are skipped entirely.
  4. If every HTTP check says No response, your host almost certainly has allow_url_fopen off or blocks outbound HTTP.
  5. Look in storage/logs/laravel.log. The shipped log level is warning.

A component is stuck down

  1. Run php artisan pharos:check --force and read the message beside it.
  2. For heartbeats, call the URL by hand. A 404 means the token is wrong; a 200 means Pharos is fine and your cron is not calling it.
  3. Check nothing else owns it. A workflow that also sets this component will fight the built-in check every minute — pick one owner.

The admin looks stale

Admin pages already send no-store, so the browser cannot serve you a screen the server never rendered. If it persists, something in front of Pharos is caching — exclude /admin/* from it. After editing .env, run php artisan optimize:clear.

Mail is not sending

  1. Open Settings → Mail and press Send test. The result tells you whether the connection works before any subscriber is involved.
  2. What is saved there wins; anything left blank falls back to the MAIL_* lines in .env. The screen shows the effective sender and host it will use.
  3. Subscriber mail is sent from the cron line, so confirm the scheduler is firing (see above) — a paused scheduler means no confirmation and no incident mail.
  4. Nothing arrives but the test passes? Check the address is confirmed under Subscribers; an unconfirmed address is never mailed.

Written against the shipping source. If something here does not match what you see, the source is right and this page is wrong — please say so.