Requerimientos

Phalcon necesita PHP para ejecutar. Su diseño ligeramente acoplado permite los desarrolladores instalar el Phalcon y utilizar su funcionalidad sin extensiones adicionales. Algunos componentes tienen dependencias de otras extensiones. Por ejemplo, para utilizar la conectividad de base de datos, la extensión php_pdo será requerida. Si su RDBMS es MySql/MariaDb o Aurora base de datos, también se necessita lá extensión php_mysqlnd. De manera similar, si utiliza una base de datos PostgreSQL con Phalcon, la extensión php_pgsql será requerida.

Hardware

Phalcon fue diseñado para utilizar los menos recursos posibles, al tiempo que ofrece un alto rendimiento. Aunque hemos probado Phalcon en varios ambientes de bajo rendimiento, (por ejemplo 0.25GB RAM, 0.5 CPU), el hardware que usted elija dependerá de las necesidades de su aplicación.

Nuestro sitio web y blog (así como otros sitios) están alojados en una VM de Amazon con 512MB de RAM y 1 vCPU.

Software

  • PHP >= 5.5

Phalcon necesita las siguientes extensiones para ser ejecutado (mínimo):

  • curl
  • gettext
  • GD2 (para usar la clase Phalcon\Image\Adapter\Gd)
  • libpcre3-dev (Debian/Ubuntu), pcre-devel (CentOS), pcre (en macOS)
  • json
  • mbstring
  • pdo_*
  • fileinfo
  • openssl

Opcional, dependiendo de las necesidades de su aplicación

Instalación

Como Phalcon está compilado como una extensión PHP, su instalación es un poco diferente que cualquier otro framework PHP tradicional. Phalcon necesita ser instalado y cargado como un módulo en el servidor web.

Linux

Para instalar Phalcon en Linux, necesitará agregar nuestro repositorio en su distribución y luego instalarlo.

Distribuciones basadas en DEB (Debian, Ubuntu, etc.)

Instalación desde el repositorio

Agregar el repositorio en su distribución:

Versiones estables
curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash

o

Versiones nocturnas
curl -s https://packagecloud.io/install/repositories/phalcon/nightly/script.deb.sh | sudo bash

Instalación de Phalcon

Para instalar Phalcon es necesario ejecutar los siguientes comandos en su terminal:

PHP 5.x
sudo apt-get update
sudo apt-get install php5-phalcon

PHP 7
sudo apt-get update
sudo apt-get install php7.0-phalcon

PPAs adicionales

Ondřej Surý

Si no desea usar nuestro repositorio en packagecloud.io, puede utilizar uno ofrecido por Ondřej Surý.

Instalación del repositorio:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

y Phalcon:

sudo apt-get install php-phalcon

Distribuciones basadas en RPM (CentOS, Fedora, etc.)

Instalación desde el repositorio

Agregar el repositorio en su distribución:

Versiones estables
curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.rpm.sh | sudo bash

o

Versiones nocturnas
curl -s https://packagecloud.io/install/repositories/phalcon/nightly/script.rpm.sh | sudo bash

Instalación de Phalcon

Para instalar Phalcon es necesario ejecutar los siguientes comandos en su terminal:

PHP 5.x
sudo yum update
sudo yum install php56u-phalcon

PHP 7
sudo yum update
sudo yum install php70u-phalcon

RPMs Adicionales

Remi

Remi Collet mantiene un excelente repositorio de RPM basado en instalaciones. Puede encontrar instrucciones sobre cómo activar en su distribución aquí.

La instalación de Phalcon después de eso, es tan fácil como:

yum install php56-php-phalcon3

Versiones adicionales están disponibles para cada arquitectura específica (x86/x64), así como versiones específicas de PHP (5.5, 5.6, 7.x)

FreeBSD

Un puerto está disponible para FreeBSD. Para instalarlo deberá ejecutar los siguientes comandos:

pkg_add

pkg_add -r phalcon

Codigo fuente

export CFLAGS="-O2 --fvisibility=hidden"

cd /usr/ports/www/phalcon

make install clean

Gentoo

Un overlay para la instalación de Phalcon puede encontrarse aquí https://github.com/smoke/phalcon-gentoo-overlay

macOS

En sistemas macOS puede compilar e instalar la extensión con brew, macports o el código fuente:

Requerimientos

  • Recursos para el desarrollo PHP 5.5.x/5.6.x/7.0.x/7.1.x
  • XCode

Brew

Como el homebrew/php ha quedado obsoleto y está en proceso de ser eliminado, se ha creado un repositorio personalizado para Phalcon.

PHP 5.5 no ha sido portado a homebrew/core y como tal ya no existe. Por otro lado PHP 7.2 ha sido añadido.

brew tap tigerstrikemedia/homebrew-phalconphp
brew install php56-phalcon
brew install php70-phalcon
brew install php71-phalcon
brew install php72-phalcon

MacPorts

sudo port install php55-phalcon
sudo port install php56-phalcon

Editar el archivo php.ini y luego añadir al final:

extension=php_phalcon.so

Reinicie su servidor Web.

Windows

Para utilizar Phalcon en Windows, usted necesitará instalar el phalcon.dll. Hemos compilado varias DLLs dependiendo de la plataforma de destino. Los archivos dll pueden encontrarse en nuestra página de descarga.

Identifique su instalación de PHP, así como la arquitectura. Si descarga el archivo DLL erróneo, Phalcon no funcionará. phpinfo() contiene esta información. En el ejemplo siguiente, vamos a necesitar la versión NTS de la DLL:

phpinfo

Las DLL disponibles son:

Arquitectura Versión Tipo
x64 7.x Thread safe
x64 7.x Non Thread safe (NTS)
x86 7.x Thread safe
x86 7.x Non Thread safe (NTS)
x64 5.6 Thread safe
x64 5.6 Non Thread safe (NTS)
x86 5.6 Thread safe
x86 5.6 Non Thread safe (NTS)
x64 5.5 Thread safe
x64 5.5 Non Thread safe (NTS)
x86 5.5 Thread safe
x86 5.5 Non Thread safe (NTS)

Editar el archivo php.ini y luego añadir al final:

extension=php_phalcon.dll

Reinicie su servidor Web.

Compilar desde código fuente

Compilar desde código fuente es similar a la mayoría de los entornos (Linux/macOS).

Requerimientos

  • Recursos de desarollo de PHP 5.5.x/5.6.x/7.0.x/7.1.x
  • Compilador GCC (Linux/Solaris/FreeBSD) o Xcode (macOS)
  • re2c >= 0.13
  • libpcre-dev

Puede instalar estos paquetes in su sistema con el gestor de paquetes correspondiente. Las instrucciones para las distribuciones más populares de linux, son las siguientes:

Ubuntu

sudo apt-get install php5-dev libpcre3-dev gcc make

Suse

sudo zypper install php5-devel gcc make

CentOS/Fedora/RHEL

sudo yum install php-devel pcre-devel gcc make

Compilar Phalcon

Primero tenemos que clonar Phalcon desde el repositorio de Github

git clone https://github.com/phalcon/cphalcon

y ahora compilar la extensión

cd cphalcon/build
sudo ./install

Ahora usted tendrá que añadir extension=phalcon.so a su PHP ini y reiniciar su servidor web, para que la extensión sea cargada.

# Suse: Agregue un archivo llamado phalcon.ini en /etc/php5/conf.d/ con el siguiente contenido:
extension=phalcon.so

# CentOS/RedHat/Fedora: Agregue un archivo llamado phalcon.ini en /etc/php.d/ con el siguiente contenido:
extension=phalcon.so

# Ubuntu/Debian con apache2: Agregue un archivo llamado 30-phalcon.ini en /etc/php5/apache2/conf.d/ con el siguiente contenido:
extension=phalcon.so

# Ubuntu/Debian con php5-fpm: Agregue un archivo llamado 30-phalcon.ini en /etc/php5/fpm/conf.d/ con el siguiente contenido:
extension=phalcon.so

# Ubuntu/Debian con php5-cli: Agregue un archivo llamado 30-phalcon.ini en /etc/php5/cli/conf.d/ con el siguiente contenido:
extension=phalcon.so

Compilación Avanzada

Phalcon detecta automáticamente su arquitectura, sin embargo, puede forzar la compilación para una arquitectura específica:

cd cphalcon/build

# Una de las siguientes:
sudo ./install --arch 32bits
sudo ./install --arch 64bits
sudo ./install --arch safe

Si el instalador automático falla, puedes generar la extensión manualmente:

git clone https://github.com/phalcon/cphalcon
# cd cphalcon/build/php5/32bits
cd cphalcon/build/php5/64bits

# NOTA: para PHP 7 debe usar
# cd cphalcon/build/php7/32bits
# o
# cd cphalcon/build/php7/64bits

make clean
phpize --clean

export CFLAGS="-O2 --fvisibility=hidden"
./configure --enable-phalcon

make
make install

Si tienes versiones específicas de php ejecutando:

git clone https://github.com/phalcon/cphalcon
# cd cphalcon/build/php5/32bits
cd cphalcon/build/php5/64bits

# NOTA: para PHP 7 debe usar
# cd cphalcon/build/php7/32bits
# o
# cd cphalcon/build/php7/64bits

make clean
/opt/php-5.6.15/bin/phpize --clean

export CFLAGS="-O2 --fvisibility=hidden"
./configure --with-php-config=/opt/php-5.6.15/bin/php-config --enable-phalcon

make
make install

Ahora usted tendrá que añadir extension=phalcon.so a su PHP ini y reiniciar su servidor web, para que la extensión sea cargada.

Puede crear un pequeño script en la raíz del servidor web que tenga lo siguiente:

<?php

phpinfo();

y cargarlo en su navegador web. Debería haber una sección para Phalcon. Si no la hay, asegúrese de que su extensión ha sido compilada correctamente, que hizo los cambios necesarios a su php.ini y también que ha reiniciado el servidor web.

También puede comprobar la instalación desde la línea de comandos:

php -r 'print_r(get_loaded_extensions());'

Esto devolverá algo similar a esto:

Array
(
    [0] => Core
    [1] => libxml
    [2] => filter
    [3] => SPL
    [4] => standard
    [5] => phalcon
    [6] => pdo_mysql
)

También puede ver los módulos instalados mediante la CLI:

php -m