Hosting Readiness Checklist
Use this checklist before purchasing hosting, before the first production deployment, and after a material server or PHP configuration change. Record the evidence and owner for every item; a verbal “Laravel is supported” is not sufficient.
The normative requirements are in Hosting Requirements. Resource values must come from recorded Hosting Capacity Results produced with Hosting Capacity Validation, not an unmeasured estimate.
Provider questionnaire
- PHP 8.4 is available for both web requests and CLI, and the provider states how patch releases are maintained.
- Composer 2 may run in the application directory without an artificial dependency-install timeout.
-
mbstring,sodium,zip, andpdo_mysqlare enabled in both web and CLI PHP. - MySQL 8.0 with InnoDB is available, including permission to create and alter tables, indexes, and foreign keys.
- The domain document root can point directly to the Laravel application's
public/directory. - HTTPS certificates and automatic renewal are available.
- The provider states PHP memory, upload, POST body, request timeout, process, inode, and disk quotas.
- The provider explains whether
proc_open, PHP CLI, Composer, and database client binaries are available to the PHP runtime. - The provider explains whether symlinks are permitted for
public/storage. - Cron is available if scheduled housekeeping will be enabled.
- Outbound HTTPS is allowed for Composer, CMS updates, or remote media import as applicable.
- Backup retention, restore procedure, monitoring, and support escalation are documented.
- The selected core, media, operations, and traffic profiles are identified as applicable or not applicable.
Any “no” answer must be matched to a deliberately disabled feature or an external deployment/operations procedure before approval.
Pre-deployment server checks
- The production release is installed into a Laravel 13 host application, not served directly from the package source repository.
- Web and CLI report compatible PHP versions and extension sets.
-
composer check-platform-reqspasses in the deployed host application. - The database connection succeeds and uses the intended production database.
-
APP_KEYis set,APP_DEBUG=false, andAPP_URLis the canonical HTTPS URL. - The web root is
public/;/.envand/.git/configreturn404. - Laravel rewrite/front-controller behavior works for a non-file route.
-
/webadminroutes through Laravel while/cmsserves package-owned static assets. -
storage/,bootstrap/cache, the backups disk, and requiredpublic/sitepaths are writable by the PHP runtime without777. -
public/storageworks when the standard public disk is used. - Database and file backups exist outside the application, and a restore test has an owner and date.
- The selected capacity profile's memory, timeout, upload, disk, and feature assumptions match this server.
Feature checks
Mark unused features as not applicable and record why.
- Media: an upload can be stored and served; when image variants are required, GD and the source-format codec are available.
- Mail: password reset and contact notification delivery reach the intended test mailbox through a real transport.
- Scheduler: the host invokes Laravel
schedule:runwhen scheduled cleanup is expected. - System Update: its admin preflight passes database, extension, process, write-access, lock, and free-space checks.
- MySQL backup/restore: dump and client binaries are available when application-level native database backups will be used.
- Remote media: outbound requests work only if remote import is required.
Post-deployment smoke test
- The public home page returns the expected secure response.
-
/webadmin/loginloads over HTTPS and an authorized administrator can sign in. - CMS CSS, JavaScript, and brand assets under
/cmsreturn successful responses. - A draft can be created and previewed without becoming publicly visible.
- A media item can be uploaded, displayed, and deleted according to policy.
- Logs contain no permission, database, mixed-content, or missing-extension errors from the smoke test.
- Backups, deployment/update ownership, monitoring, and emergency contacts are recorded in the handoff.
Evidence to retain
Keep the following with the deployment record without including secrets:
- hosting plan or server profile and region;
- PHP and database versions;
- enabled extension names;
composer check-platform-reqsresult;- configured resource limits and available disk at acceptance time;
- capacity fixture/profile version, raw result location, qualification date, and five-run worst case;
- document-root and filesystem ownership model;
- enabled optional features and their dependencies;
- smoke-test date and operator; and
- backup/restore test date, retention, and responsible party.
Repeat the relevant sections after changing the PHP version, database engine, document root, filesystem ownership, deployment method, or hosting provider.