Installation

To install Zephir, please follow these steps:

Prerequisites

To build a PHP extension and use Zephir you need the following requirements:

  • Zephir parser >= 1.3.0
  • A C compiler such as gcc >= 4.4 or an alternative such as clang >= 3.0, Visual C++ >= 11 or Intel C++. It is recommended to use gcc 4.4 or later
  • re2c 0.13.6 or later
  • PHP development headers and tools

For Linux based systems you’ll need also:

  • GNU make 3.81 or later
  • autoconf 2.31 or later
  • automake 1.14 or later
  • libpcre3
  • The build-essential package when using gcc on Ubuntu (and likely in other distributions as well)

If you’re using Ubuntu, you can install the required packages this way:

sudo apt-get update
sudo apt-get install git gcc make re2c php php-json php-dev libpcre3-dev build-essential

Please note that specific versions of libraries and programs at the time of reading this guide may vary.

Since Zephir is written in PHP, you need to have a recent version of PHP installed, and it must be available in your console:

php -v
PHP 7.3.7 (cli) (built: Jul 14 2019 17:24:22) ( ZTS DEBUG )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.7, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans

Also, make sure you have the PHP development libraries installed along with your PHP installation:

phpize -v
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731

You don’t have to necessarily see the exact above output, but it’s important that these commands are available to start developing with Zephir.

Installing Zephir

First make sure that the Zephir parser extension is installed and activated. You can find installation instructions in the Zephir Parser repository.

Release PHAR

The recommended, officially supported, and easiest-to-use way to install Zephir is to simply grab the latest release PHAR from GitHub, and download/move it to somewhere in your $PATH. (You’ll probably also want to rename it to drop the .phar extension, so you can run it as zephir instead of zephir.phar.)

Composer

The PHAR isn’t available before 0.11.4, so if you need an older version, you can use Composer, in one of two ways:

Global Composer Application

composer global require phalcon/zephir

There are two approaches to running Zephir at this point. The first is to ensure that ${COMPOSER_HOME}/vendor/bin is in your $PATH, then Zephir should be available as zephir on the command line. The second is to simply use composer global exec zephir instead.

Project Dependency

composer require phalcon/zephir

Use composer exec zephir within the project you installed Zephir in, above, to run it. (Alternately, you can still run vendor/bin/zephir.)

Git Clone

Finally, you can also simply clone the latest tag from GitHub, install the dependencies, and run Zephir from there:

git clone --depth 1 -b $(git ls-remote https://github.com/zephir-lang/zephir 0.12.* | sort -t/ -k3 -Vr | head -n1 | awk -F/ '{ print $NF }') https://github.com/zephir-lang/zephir
composer install

You’ll need to either use the path to zephir/zephir, or create a symlink in a directory in your $PATH, to run Zephir using this option.

Testing the Installation

Check if Zephir is available from any directory by executing:

zephir help