Phalcon is a C extension, so you need to download a binary for your platform or compile it from source code.

The commands below are for v5.0.0. You can adjust them accordingly to install the latest version of Phalcon. For v4, the PSR extension is required to be loaded before Phalcon. Please ensure that it is available in your system.

PECL

Using Pecl this extension will be automatically installed in your system The Pecl installation method is available for Windows, Linux and MacOS. Under windows pre-compiled dll files will be used. Under Linux and MacOS it will compile phalcon locally so it could be faster to use a different installation method on these platforms. To install using Pecl make sure you have pecl/pear installed.

pecl channel-update pecl.php.net
pecl install phalcon-5.0.0

Compilation

On Linux you can easily compile and install the extension from source code.

Requirements

We need some packages already installed:

  • PHP 8.x development resources (or 7.x if you are still using PHP 7.4)
  • GCC compiler
# Ubuntu
sudo apt-get install php8.1-dev php8.1-mysql gcc libpcre3-dev

# Fedora
sudo dnf install php-devel php-mysqlnd gcc libtool pcre-devel re2c

# RHEL
sudo yum install php-devel php-mysql gcc libtool pcre-devel

# Suse
yast2 -i php8-pear php8-devel php8-mysql gcc libtool pcre-devel

# macOS (Homebrew)
brew install pcre
brew tap phalcon/extension https://github.com/phalcon/homebrew-tap
brew install phalcon

# macOS (MacPorts)
sudo port install php81-phalcon

Compilation

1. To create the extension from C source follow these steps:

git clone --depth=1 "git://github.com/phalcon/cphalcon.git"
cd cphalcon/build
sudo ./install

2. Add the extension to your php.ini:

extension=phalcon.so

3. Finally, restart the webserver

Arch Linux

There is a PKGBUILD for ArchLinux, available here

OpenSUSE

There is a package available here (thanks to Mariusz Łączak)

FreeBSD/GhostBSD

A port is available for FreeBSD. You only need these few commands to install it:

pkg install -r phalcon

or

cd /usr/ports/www/phalcon && make install clean

Amazon Linux

Using PECL should work right out of the box. However, if it does not, there is a Stack Overflow answer here that might help.

cPanel

After requests from the community, the cPanel developers released a custom module that allows for installation of Phalcon in cPanel hosted sites. Information can be found here. The module is maintained in Github.

Dependencies

Although Phalcon does not binary link to other extensions it does use some of them to offer functionality. The extensions used are:

  • mbstring
  • mcrypt
  • openssl
  • PDO
  • PDO/Mysql
  • PDO/Postgresql
  • PDO/Sqlite
  • Mongo

It is not necessary for all the above extensions to be present in the system that has Phalcon installed. You can only install the ones that meet your needs. For instance if you use a MySQL database, then you can only load PDO and PDO/MySQL ignoring the Oracle, SQlite, Postgresql and Mongo.

Have a look at our support page for ways to get support. We will do our best to help you.