Getting started

Requirements

What your server needs before you unpack Zender onto it.

Server requirements

You need PHP 8.4.1 or newer. Zender's own code contains no version check, but the bundled dependency set declares that minimum, and Composer's generated platform guard enforces it.

An older PHP stops the site dead, immediately. That guard runs from the autoloader on every single request, so PHP 8.4.0 or anything older gives you a blank page or a 500 on every URL — including the installer. You will not get a partly-working site that fails later; you will get a site that never starts. Check php -v before uploading anything.
If your host offers a choice of PHP versions, pick the newest 8.x available rather than the oldest one that still qualifies — Zender is tested against current PHP, not old PHP.

PHP extensions

Your PHP install needs at least:

  • PDO with the MySQL driver — how Zender talks to the database in normal operation.
  • mysqli — used by the installer and the updater to import SQL files. A host with PDO but no mysqli fails at install.
  • zip, gd, mbstring, openssl, dom, libxml, xmlreader, fileinfo, zlib, json, ctype and filter — required by the bundled libraries for plugin installs, spreadsheet import and export, and QR generation.
  • cURL (strongly recommended) — used for every outbound HTTP request Zender makes: SMS gateways, webhooks, the WhatsApp server connection, and other integrations. Without it, outbound requests still work through a slower fallback, but cURL is the better-tested path and should be enabled.

Most standard PHP installs — and virtually every shared-hosting or managed PHP stack — already ship both of these enabled.

Database

Zender requires a MySQL or MariaDB server with InnoDB and UTF-8 (4-byte, utf8mb4) character set support — standard on any current MySQL or MariaDB build. The installer imports Zender's full schema into a database you provide; it does not create the database for you. See Installation for how to create one and what privileges the database user needs.

Web server

Zender ships ready-to-use rewrite rules for both Apache (.htaccess, requires mod_rewrite) and nginx (.nginx.conf, included from your server block). Both route every request that isn't an existing file or directory through Zender's single entry point, and both also block direct access to Zender's own internal PHP, template, and data files so they can't be downloaded or executed directly.

Zender can be installed at your domain's root or inside a subdirectory — it detects which one it's running from automatically and adjusts its own links accordingly. Wherever you put it, that directory needs the rewrite rules above active.