CakePHP

Endless Lifecycle Support (ELS) for CakePHP from TuxCare provides security fixes for CakePHP framework versions that have reached their end-of-life. With ELS, you can continue running your applications without vulnerability concerns, even after official support has ended.

Supported Versions

  • CakePHP 2.10.24, 4.4.18, 5.0.11

Other versions upon request.

Installation

Prerequisites

  • Nexus repository access credentials (username and password) — contact [email protected]
  • To browse available artifacts, visit TuxCare Nexus and click Sign in in the top right corner. You may need to refresh the page after logging in.
  1. Locate the auth.json file

    Composer reads credentials from a per-user auth.json. Create or edit the file at:

    • Linux/macOS:

      ~/.composer/auth.json
      
    • Windows:

      %APPDATA%\Composer\auth.json
      
  2. Add your TuxCare credentials

    Use either the Composer CLI or edit auth.json directly to add credentials for nexus.repo.tuxcare.com:

    composer config --global --auth http-basic.nexus.repo.tuxcare.com USERNAME PASSWORD

    Replace USERNAME and PASSWORD with your TuxCare credentials (see Prerequisites above).

  3. Register the TuxCare repository

    Add the els_php Composer repository either via CLI or by editing composer.json:

    composer config repositories.tuxcare '{"type":"composer","url":"https://nexus.repo.tuxcare.com/repository/els_php/","options":{"http":{"verify":true}}}' --json
  4. Install CakePHP

    Install the TuxCare-maintained CakePHP release that matches your project:

    composer require cakephp/cakephp:2.10.24-p2+tuxcare

    Check the exact version listed in your TuxCare Nexus account to ensure you receive the most recent patched release.

    If you edited composer.json manually, run composer update to install the package:

    composer update
    

    Composer will resolve dependencies against the TuxCare repository and install the patched releases.

Composer Repository Configuration

If you encounter dependency resolution errors like:

packages from higher priority repository do not match your constraint

it usually means your project requires a package version that is not yet available in the TuxCare repository.

Solution: Update your composer.json to set the TuxCare repository as non-canonical:

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://nexus.repo.tuxcare.com/repository/els_php/",
            "canonical": false
        }
    ]
}

This allows Composer to fall back to Packagist for packages not available in the TuxCare repository, while still preferring TuxCare patches when available.

What's Next?