A white page or 500 error looks like the store died, but in a Laravel app like Bagisto it almost always means one specific, readable cause. This page is the ladder: find the real error message first, then fix the handful of things that actually break.
The worst way to fix a broken store is to change five things at random; the best way takes two minutes: read the exact error the server already wrote down. Bagisto is a Laravel application, and Laravel records its real errors in a log file while showing visitors only a polite blank or 500 page. Every fix on this page starts from that log line, and most broken stores turn out to be a wrong database password, a missing PHP extension or a folder the web server cannot write to.
Example log entry. This one error says the database rejected the login — the fix is the .env file, not reinstalling the store. Your log will name your own cause just as plainly.
storage/logs/laravel.log inside your Bagisto folder and scroll to the very bottom — the newest errors are last.If the log is empty and the page is still blank, check the web server's own error log, and confirm the site is pointed at Bagisto's public folder — pointing a domain at the project root instead of public is a classic fresh-install mistake.
The .env file is where Bagisto reads its database login, and it is guilty in most fresh-install failures. Compare DB_DATABASE, DB_USERNAME and DB_PASSWORD character by character with the database you actually created — a password copied with a trailing space fails exactly like a wrong password. Also check APP_URL: if it still holds an old address or localhost after you moved hosting, pages and images break in confusing ways. After any .env edit, run php artisan optimize:clear so Laravel drops its cached copy of the old settings.
A host that quietly runs an old PHP, or a missing extension, breaks Bagisto in ways that look like bugs. Run php -v on the server and compare with the requirement of your Bagisto release — the current 2.x line wants a recent PHP 8, with the latest releases targeting PHP 8.4. Run php -m and confirm the extensions Laravel needs are listed, especially intl, gd, mbstring and pdo_mysql. On shared hosting these are usually switches in the hosting panel's PHP settings page; on your own server they are small packages to install. Match the panel's PHP version to the one your command line reports — they can differ, and the website uses the panel's.
storage and bootstrap/cache. If it cannot, Laravel cannot log, cache or compile views, and the store fails. The documented-style fix is to give those two folders write access for the web server user, commonly shown as chmod -R 775 storage bootstrap/cache with correct ownership.php artisan storage:link once.php artisan optimize:clear to rebuild caches cleanly instead of deleting random cache files by hand.Watch the video for the healthy install these errors interrupt, so you can compare screens.
Watch Full VideoIn storage/logs/laravel.log inside the Bagisto folder — the newest entries at the bottom name the real cause. If that log is empty, check the web server error log and confirm your domain points to the public folder.
Laravel caches configuration. Run php artisan optimize:clear after any .env change so the store rereads the file, then reload the page and check the log again.
Almost never. A reinstall throws away your products, orders and settings to fix what is usually one wrong line in .env or one folder permission. Read the log, fix the named cause, and keep reinstalling as the last resort on an empty test store only.