WHBMP

Common server problems

Oct 15, 2026

Dropdowns open, tabs and buttons do nothing

Cause: livewire.min.js returns a 404, so Alpine.js never loads. On nginx this is the static-file rule described in Installing on CloudPanel and nginx. On Apache it means .htaccess is not being used, or the files are not served through index.php.

Check: open the browser developer tools (F12), Network tab, reload, and look for livewire.min.js.

A blank page or "500 Server Error"

  1. Open storage/logs/laravel.log and read the last error.
  2. Check the folder permissions: storage and bootstrap/cache must be writable by the web user.
  3. Check the PHP version and extensions in Settings > System Information.
  4. After changing .env run php artisan optimize:clear, or delete the files in bootstrap/cache that start with config and routes.

Pages load but no styling

The folder public/build is missing or not readable. It is part of the package. Re-upload it. If a plugin page looks unstyled after an update, run the update again; each release ships a rebuilt stylesheet.

"419 Page Expired"

The session or CSRF token did not match. Causes: the page was open for a long time, cookies are blocked, APP_URL in .env does not match the address you use (http vs https, www vs non-www), or storage/framework/sessions is not writable. Set APP_URL to the real address and run php artisan optimize:clear.

Redirect loops or http/https mix

Behind a proxy or CDN (Cloudflare, Varnish, a load balancer) the app must know the original scheme. WHBMP trusts proxy headers; make sure the proxy sends X-Forwarded-Proto and X-Forwarded-For. With Cloudflare use SSL mode Full or Full (strict), not Flexible.

Everything is slow

  • Enable OPcache in PHP.
  • Make sure the cron job runs and the queue is not backed up.
  • Run php artisan optimize after an update.
  • Use PHP 8.3 or newer.

Emails are not sent

By default .env has MAIL_MAILER=log, which only writes mail to a log. Set real SMTP in Settings > General Settings > Mail and send a test email. Some hosts, including Oracle Cloud, block outgoing port 25, so use an SMTP relay on port 587 or 465. See Email and SMTP.

The cron job does not run

See Setting up the cron job.

"Permission denied" when updating

The one-click updater needs the code folders to be writable by the user PHP runs as. System Health and the update page tell you which folder failed. Fix the ownership (chown -R SITEUSER:SITEUSER) rather than using 777.

The site is stuck in maintenance mode

An update that was cut off leaves the site down. The scheduler brings it up again within a few minutes if cron is running. To do it by hand: php artisan up. If you put the site in maintenance mode yourself in General Settings > General, switch it off there.

Admin path forgotten

The admin address comes from ADMIN_PATH in .env (default admin). Read the file over SSH or File Manager.

Powered by WHBMP