Support

Documentation

4.Kickstart's architecture

4.Kickstart's architecture

Kickstart 9.1 and later versions is a regular, single PHP file. All of Kickstart's PHP, CSS, JavaScript, and media files are concatenated together, with the media files encoded as Base64 data URIs, into one self-contained .php file. This is the same approach that was used up to and including Kickstart 8.

Because Kickstart is a plain text PHP file, it behaves like any other PHP script. You do not need to worry about PHP extensions such as phar being installed or enabled on your server.

Kickstart checks the PHP version at startup and will stop with a clear error message if you are running an unsupported version. As per our standard policy we support PHP versions which have become End-of-Life to allow you to restore older backups on fairly old servers.

History: Kickstart 9.0 and PHAR

Kickstart 9.0 (released in November 2025) briefly adopted the PHAR (PHP Archive) format to package all of Kickstart's files into a single binary file. While PHAR is a mature PHP feature and works correctly on most servers, we discovered that a non-trivial number of commercial and local development hosts had suboptimal configurations that prevented Kickstart from running reliably:

  • Some security-hardened servers had the PHP phar extension disabled entirely, or had open_basedir restrictions that blocked phar:// stream wrapper paths.

  • Some naive file scanners on shared hosting environments erroneously flagged PHP files containing binary data as malicious, causing Kickstart's file to be quarantined or deleted before it could be executed.

  • Some local hosting packages (e.g. WAMP, XAMPP variants) had OPcache configured with settings that were incompatible with PHAR archive execution, leading to cryptic PHP errors on every request after the first.

Rather than requiring users to adjust server configuration to use Kickstart, we reverted to the proven single-file approach starting with Kickstart 9.1. If you are using Kickstart 9.0 and encounter any of the problems above, upgrading to 9.1 or later will resolve them.