SelloraDocumentation v1.1.0
Docs / Help

Troubleshooting

Fixes for the most common problems - 500 errors, missing images, 404s, e-mails, payments, slow pages and lock-outs.

First: look at the log#

Most problems explain themselves in storage/logs/laravel.log (or Admin > System > Logs). Payment problems are also in storage/logs/payments-*.log. Quote the last error when you ask for support.

The site shows "500 Server Error" or a blank page#

Check How
PHP version Must be 8.3 or newer for this domain.
PHP extensions bcmath, ctype, curl, dom, fileinfo, gd, json, mbstring, openssl, pdo_mysql, tokenizer, xml, zip.
Hidden files .htaccess (and public/.htaccess) must be uploaded.
Permissions storage, bootstrap/cache and public/uploads writable (775), .env writable.
.env Exists and has valid database details and APP_KEY.
Old cache Delete the files in bootstrap/cache (except .gitignore) and storage/framework/views.

To see the real message temporarily set APP_DEBUG=true in .env, reload the page, then set it back to false. Debug output on a live site can leak secrets.

All pages except the home page give 404#

The web server is not rewriting URLs. Apache: mod_rewrite must be on and AllowOverride All set; Nginx: use the try_files rule from Install on a VPS.

"419 Page Expired" when submitting a form#

The session expired or cookies are blocked. Reload the page and try again. If it persists: check that storage/framework/sessions is writable, that APP_URL matches the address in the browser (including https and www), and that SESSION_DOMAIN in .env is not set to a wrong domain.

Images or CSS are missing#

  • APP_URL in .env must be your real address. Clear caches afterwards.
  • The public/storage link must exist (php artisan storage:link). If your host disables symbolic links, set the public disk to public/uploads as the installer does automatically, and make sure public/uploads is writable.
  • A trailing mix of http and https blocks content: use HTTPS everywhere and set APP_URL to the https address.

The setup wizard keeps coming back, or says it is already installed#

Installation is recorded in storage/installed. If it is missing (for example after moving files without the storage folder) the wizard starts again. Restore the file from your backup. Never run the wizard again on a populated database: choose Use existing data only if you know what you are doing.

I can't sign in to the admin#

  • Use Forgot password on the login page.
  • Make sure the maintenance mode IP list or security lockout (Settings > Security) is not blocking you: after too many failed attempts wait a few minutes.
  • Check that your user has a role (System > Users).

E-mails do not arrive#

See E-mail: the default mailer is log, which writes to a file. Set SMTP, send a test e-mail, check spam and your domain's SPF/DKIM records.

A payment was taken but the order is still unpaid#

  • Check storage/logs/payments-*.log and the provider's webhook delivery log.
  • Confirm the webhook URL is exactly https://your-domain.com/payments/{gateway}/webhook, is HTTPS, and is not blocked by a firewall, a maintenance page or HTTP basic authentication.
  • Confirm webhook secrets are the same on both sides (Payments overview).
  • If the payment is verified at the provider, open the order and click Mark as paid and note the transaction reference.

"Maximum execution time exceeded" or very slow first page load#

The first visit after a deployment compiles views, which can be slow on weak hosting. Raise max_execution_time to 60+ seconds, enable OPcache, and warm the site by visiting the main pages. Large CSV imports run in small batches and should not time out.

Changes do not appear#

Clear caches: Admin > System > Info, or php artisan sellora:clear. Also clear your browser cache. Dashboard and report figures are cached for a few minutes by design.

Currency rates not updating#

Needs the cron job and auto refresh on in Settings > Currencies. Use Refresh now to test the provider.

Cron seems not to run#

See Cron job.

Reset an admin password from the command line#

On a server with SSH, from the folder containing artisan:

php artisan tinker
>>> $u = App\Models\User::where('email', 'you@example.com')->first();
>>> $u->password = 'a-new-strong-password'; $u->save();

(Passwords are hashed automatically.)

Still stuck?#

See Support and include your Sellora version, PHP version, the exact error text and the steps to reproduce it.

Sellora 1.1.0 documentation · 2026-10-07 · Printed or saved copy? The latest version is always in the Documentation folder of your download.