Browse topics

Troubleshooting

Start with Admin → System health: it checks PHP, extensions, the database, folders, permissions, .htaccess, URL rewriting, cron, configuration, the base URL, short domains and security settings, and explains each warning. Error details are written to Admin → System logs and storage/logs.

Installation

ProblemSolution
Blank page or 500 Internal Server ErrorCheck the PHP version is 8.1 or newer in MultiPHP Manager. Look in cPanel Errors for the message
URL rewriting is not working.htaccess is missing (enable Show Hidden Files and upload it) or the host disallows .htaccess overrides
Extension missingEnable it in Select PHP Version → Extensions
Folder not writableSet folders to 755 in File Manager; ask your host if PHP does not run as your account
Database is not emptyCreate a new empty database or remove the existing tables
Access denied for userCheck the user was added to the database with all privileges; use the full prefixed names (for example account_user)
Pages load without stylingFiles were extracted into a subfolder; move them into public_html
ProblemSolution
Every short link shows Not foundThe alias does not exist on that domain, or the domain is not active
This alias is reservedThe word is used by the application; choose another alias
Destination not allowedIt points to a private address, to this service, or matches the blocklist
Clicks are not countedHEAD requests, previews and bot visits are not counted as clicks
Location shows UnknownUpload a GeoLite2 database in Admin → Settings → Analytics
Times look wrongSet your time zone in Profile

Custom domains

See the troubleshooting table in Custom domains. Most problems are a mistyped TXT record name, a domain whose document root is not the same public_html, or a missing SSL certificate.

Cron and webhooks

ProblemSolution
Health says cron is not runningCheck the command and PHP path in Cron Jobs; run it once in Terminal to see errors
Webhooks stay pendingCron is not running, the webhook is disabled, or the endpoint keeps failing (see the delivery log)
Signature invalid in your appUse the raw request body and the current secret; secrets change when rotated

Email

ProblemSolution
No emails arriveUse Send test email; check spam; use a sender address on your domain or switch to SMTP
SMTP authentication failedCheck username, password, port (465 SSL or 587 TLS) and encryption

Sign-in

ProblemSolution
Too many attemptsWait for the lockout period (default 15 minutes), or sign in from a network you have used before
Page expiredThe form was open too long or cookies are blocked; reload and try again
Locked out as the only super adminUse Forgot password with your email. If email does not work, ask your host to run a password reset through phpMyAdmin

API

Every error response contains a request_id. Administrators can find the matching request in the API request log. See the error codes in REST API.

Getting help

When reporting a problem, include the time it happened, the page or API endpoint, the request ID if shown, and the related entry from System logs. Never share config/config.php or backup files.