Documentation
v1.0.0 · Release preparation

Troubleshooting & FAQ

500 error

Read storage/logs and web/PHP logs privately. Check PHP compatibility, dependencies, database credentials, keys and writable storage/cache. After configuration changes, run php artisan optimize and restart services. Keep public debug mode off. Share sanitized errors only.

Blank page or missing assets

Build the matching frontend source and deploy public/build. Remove a development public/hot file. Check document root, asset URLs and browser errors.

Homepage works; other pages return 404

Check Nginx try_files, Apache rewriting or IIS URL Rewrite. The root must be backend/public.

Login fails or returns 419

Check APP_URL, HTTPS, sessions, application key, writable session storage and cookies. Clear stale cookies after correcting the hostname. Check account status and roles if the wrong portal opens.

Reset emails do not arrive

Verify SMTP/sender domain, spam folders, queue workers and failed jobs. A log mailer does not deliver. Confirm reset links use the reachable application hostname.

Upload/download errors

Check storage permissions, disk settings and PHP/server limits. Private files require authorized downloads. Do not expose private storage to work around authorization errors.

Live updates fail

Check module enablement, Reverb, WSS hostname, proxy upgrade headers and firewalls. Rebuild after VITE_REVERB_* changes. Shared hosting may lack persistent WebSocket support.

Installation without SSH?

Only with a secure provider equivalent for Composer, Artisan, scheduling and workers, validated on that host. Uploading files does not initialize the database.

Can Cloudflare host the HR app?

Cloudflare hosts the static marketing/docs sites. This Laravel app still needs a PHP server and database.

A documented feature is missing from my menu

The manual covers optional modules and different roles. Ask the administrator to check enablement/permissions. Documentation does not grant access.