Instalar o Framework Phalcon

Introdução

Phalcon é um framework web open source entregue como uma extensão C para a linguagem PHP, que proporciona alto desempenho e menor consumo de recursos.

Este framework é escrito em Zephir/C com independência de plataforma. E está disponível para os Sistemas Operacionais mais utilizados atualmente, podendo ser instalado por um pacote binário ou compilado a partir dos fontes.

Escopo

  1. GNU/Linux
  2. PHP5
  3. Apache2

Dependências

Debian-Like

aptitude install vim build-essential git libpcre3-dev apache2-mpm-event php5-fpm php5-pgsql php5-curl php5-gd php5-xdebug php5-dev php5-mapscript

RedHat-Like

yum groupinstall 'Development Tools' && yum install php-devel pcre-devel gcc make

Instalação

  1. git clone --depth=1 https://github.com/phalcon/cphalcon.git /usr/src/cphalcon
  2. cd /usr/src/cphalcon/
  3. git checkout phalcon-v2.0.2
    As releases disponíveis podem ser consultadas no git do projeto phalcon; Instale sempre a mais recente.
  4. cd /usr/src/cphalcon/build/
  5. ./install

Carga das bibliotecas necessárias

Este processo deverá ser executado somente para Troubleshooting caso não funcione.
ldconfig -n /usr/src/cphalcon/build/64bits/modules

Configuração

Modulo phalcon

cat > /etc/php5/mods-available/phalcon.ini << eof
> extension=phalcon.so
> eof

Timezone e logs em FastCGI Process Manager (fpm)

cat >> /etc/php5/fpm/php.ini << eof
error_log = /var/log/php_errors.log
date.timezone = "America/Sao_Paulo"
eof

Timezone e logs em command line (cli)

cat >> /etc/php5/cli/php.ini << eof
error_log = /var/log/php_errors.log
date.timezone = "America/Sao_Paulo"
eof

php5-fmp no Apache2

cat >> /etc/apache2/sites-available/apps.conf  << eof
<VirtualHost *:80>
        ServerAdmin webmaster@incolume.gov.br
        DocumentRoot /var/www/apps
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

<FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://"
</FilesMatch>

<Directory "/var/www/apps/>
        Order allow,deny
        Allow from All
        AllowOverride FileInfo All
        Require all granted
</Directory>

</VirtualHost>
eof

Ativar modulos necessários

PHP5

  1. php5enmod phalcon
  2. service php5-fpm restart;

Apache2

  1. a2enmod proxy_fcgi;
  2. a2enmod rewrite;
  3. a2enmod substitute;
  4. a2ensite apps;
  5. service apache2 restart;

Referências

https://github.com/phalcon/cphalcon#phalcon-framework
https://github.com/phalcon/cphalcon/releases

Comentários