Cecil logo Cecil
What's on this page

Installation

Cecil is distributed as a single executable file, cecil.phar, which runs anywhere PHP is installed, and as standalone binaries that don't require PHP.

Requirements

  • PHP 8.3+
  • PHP extensions: fileinfo, gd and mbstring

Check your PHP version and loaded extensions:

php -v
php -m

Optional extensions

Extension Usage
intl Date localization for locales other than en (otherwise optional, improves performance).
curl Checking external links with the doctor:links command.
imagick Image processing, preferred over GD when available.
ffi Image processing with libvips (requires Composer installation).

Download the PHAR

Download cecil.phar from your terminal:

curl -LO https://cecil.app/cecil.phar

Then run it with PHP:

php cecil.phar --version

Standalone binary

If PHP is not installed, download the standalone binary for your platform from the latest GitHub release. It embeds PHP and the required extensions.

Platform File
Linux x64 cecil-linux-x64
Linux ARM64 cecil-linux-arm64
macOS Intel cecil-macos-x64
macOS Apple Silicon cecil-macos-arm64
Windows x64 cecil-windows-x64.exe

For example:

Linux

curl -Lo cecil https://github.com/Cecilapp/Cecil/releases/latest/download/cecil-linux-x64
chmod +x cecil
./cecil --version

macOS

curl -Lo cecil https://github.com/Cecilapp/Cecil/releases/latest/download/cecil-macos-arm64
chmod +x cecil
xattr -d com.apple.quarantine cecil
./cecil --version

Binaries are not signed: the xattr command removes the quarantine attribute before the first run.

Windows

curl.exe -Lo cecil.exe https://github.com/Cecilapp/Cecil/releases/latest/download/cecil-windows-x64.exe
.\cecil.exe --version

Install globally

Installing Cecil globally allows you to run the cecil command from any directory, instead of php cecil.phar.

Linux

By moving the PHAR into a directory of your PATH:

sudo mv cecil.phar /usr/local/bin/cecil
sudo chmod +x /usr/local/bin/cecil

macOS

With Homebrew:

brew install cecilapp/tap/cecil

Windows

With Scoop:

scoop install https://cecil.app/scoop/cecil.json

Or manually:

  1. Move cecil.phar to a dedicated directory, such as C:\bin
  2. Rename it from cecil.phar to cecil
  3. Append ;C:\bin to your PATH environment variable
  4. Create a wrapping batch script next to it

PHIVE

With PHIVE (The PHAR Installation and Verification Environment):

phive install cecil

Composer

With Composer:

composer global require cecil/cecil

Verify the installation

cecil --version

Or, if Cecil is not installed globally:

php cecil.phar --version

Update

Update Cecil to the latest version according to your installation method:

PHAR

php cecil.phar self-update

Homebrew

brew upgrade cecilapp/tap/cecil

Scoop

scoop update cecil

PHIVE

phive update cecil

Composer

composer global update cecil/cecil

The standalone binary is updated by downloading it again.

The self-update command (alias selfupdate, PHAR only) also accepts the following options:

  • --rollback: reverts to the previously installed version
  • --stable: forces an update to the latest stable version
  • --preview: forces an update to the latest unstable version

Troubleshooting

command not found: cecil

The installation directory is not in your PATH: add it, or run Cecil with php cecil.phar from the directory containing the PHAR.

PHP version or extension error

Your PHP CLI may differ from the one you expect (several versions installed): check it with php -v and php --ini, then enable missing extensions in the loaded php.ini file.

Diagnose a website

Once a website is created, run the doctor command to diagnose its configuration.