Server requirements
PHP version, extensions, and writable paths the installer checks before it lets you continue.
The installer checks all of this on its first screen and shows you a green or red row for each item. You cannot proceed until every row is green, which means a misconfigured server shows up as a clear list rather than as a blank error page.
PHP#
PHP 8.3.0 or newer.
Required extensions#
Thirteen extensions must be loaded. Most shared hosts have all of them enabled by default; intl and zip are the two that occasionally need switching on in cPanel.
bcmathctypecurldomfileinfogdintlmbstringopensslpdotokenizerxmlzip
Writable paths#
These must be writable by the user your web server runs as:
.envbootstrap/cachestorage/appstorage/frameworkstorage/logs
Database#
MySQL 8 or newer, with an empty database and a user that can create and alter tables. Create both in cPanel before you start the installer — the wizard connects to a database that already exists, it does not create one.
What you do not need#
The distributed archive already contains vendor/ and the compiled front-end assets in public/build/. Your host needs neither Composer nor Node.js nor npm, and there is no build step to run.
Recommended, not required#
- A cron entry for Laravel’s scheduler. Without it, expiry reminders, webhook retries, and log pruning never run. See Scheduled tasks.
- An SMTP account. Without one the panel logs emails instead of sending them, which means welcome emails and set-password links never reach your customers.
- HTTPS. Paddle will not deliver webhooks to a plain HTTP endpoint.