Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Deploy a PHP change

Step by step - ship a PHP class, operator or settings change with one command, exp:velocity deploy, after a dry run for the change record - autoloads, INI caches, the right PHP-FPM, Velocity, then the page caches in the…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/government/tasks/operations/deploy-a-php-change.md

On this page

Deploy a PHP change

This task is for administrators and developers putting an approved code or settings change live. One command runs every step in the right order and stops at the first failure (Deploying, section 7).

Contents

  1. Before you start
  2. Steps
  3. Options
  4. Check it worked
  5. Related pages

Before you start

  • The change is approved and tested on staging (Staging and approval).
  • The new code is on the server (your deployment of the approved commit).
  • Shell access in the installation directory.

Steps

  1. Dry run, for the change record (prints the fourteen steps, each marked DRY, changes nothing):

    ./console exp:velocity deploy --dry-run --allow-root-user
  2. Run it:

    ./console exp:velocity deploy --allow-root-user

    Each step prints PASS, FAIL or SKIP with its time; the run stops at the first failure with exit status 1.

The steps include the extension autoloads, the INI caches, the template caches, the PHP-FPM step (it waits for OPcache to revalidate instead of reloading, unless asked, because a reload stalls every pool of that PHP version), the Velocity restart, the content cache, Velocity's response cache last, and warm-up requests for [DeploySettings] WarmUpURL[].

Options

OptionWhen
--kernela kernel class was added or renamed
--fpm-reloadphp.ini or the pool changed, or files were renamed
--no-fpmVelocity only
--no-velocityApache with PHP-FPM only
--packeran ezjscore server function or packed scripts and styles changed

Which PHP-FPM is reloaded comes from [DeploySettings] PhpFpmService (auto looks for the pool named after the installation's host name): ./console exp:velocity config get DeploySettings PhpFpmService --allow-root-user.

Check it worked

  • Every step PASS; keep the output with the change record.
  • The changed behavior is visible; ./console exp:logs --tail=var/log/error.log --lines=20 shows nothing new.
  • If something broke: Broken deploy rollback.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x