jueves, 7 de mayo de 2015

Instalación de PhalconPHP en Debian

Debido a las bondades que encontré en este Framework de PHP, en cuanto a rendimiento, decidí instalarlo en mi servidor Debian para hacer pruebas y usarlo.
En este momento no existe un paquete oficial actualizado . Asi que decidí hacer mis intentos y logré instalarlo con los siguientes pasos:

Características
Debian 7
PHP 5.4.39
A instalar Phalcon 2, tambien me funcionó para la versión 1.3.4.

Empecemos
Nota: ejecutar estos pasos en modo super usuario

Paso  1: Instalar los componentes necesarios 
apt-get update
apt-get install gcc make libpcre3-dev  php5-dev

Paso 2: Descargar el repositorio
git clone --depth=1 git://github.com/phalcon/cphalcon.git

Paso 3: Moverlo a la carpeta tmp
mv cphalcon /tmp

Paso 4: pararnos en la carpeta build
cd /tmp/cphalcon/build

Paso 5:Ejecutar el siguiente archivo
sh ./install

Paso 5.1: Si sale  el siguiente error
 not found2: ./install:
: not found16: ./install:
./install: 65: ./install: Syntax error: end of file unexpected (expecting "then")


o este

bad interpreter: No such file or directory

Paso 5.2: Hacer lo siguiente
touch install2
nano install2

Copiar el contenido de install y pegarlo en install2
Guardar

Paso 5.3
mv install2 install

Paso 5.4
sh ./install
Si sale el siguiente error "./install: line 64: phpize: command not found", es por que no ha instalado el componente "php5-dev".
En otro caso, debe aparecer lo siguiente:

Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking whether the C compiler works... yes
....

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/lib/php5/20100525/

Thanks for compiling Phalcon!
Build succeed: Please restart your web server to complete the installation


Paso 6: Habilitamos la extensión
cd /etc/php5/conf.d

Debería aparecer una lista de archivos así:
10-pdo.ini  20-gd.ini  20-mcrypt.ini  20-memcached.ini  20-mysqli.ini  20-mysql.ini

Paso 6.1: Creamos el archivo
touch 30-phalcon.ini
nano 30-phalcon.ini


Paso 6.2: Pegamos la siguiente información en el archivo 30-plancon.ini
extension=phalcon.so

Paso 6.3:Para evitar que se generen errores cuando ejecutemos una tarea por consola CLI "PHP Fatal error:  Class 'Phalcon\DI\FactoryDefault\CLI' not found" , movemos la extension a la carpeta cli de php,ejecutando el siguiente comando;

cd /etc/php5/apache2/conf.d && ls -lh
sudo mv ./30-phalcon.ini ../../mods-available/phalcon.ini
sudo ln -s ../../mods-available/phalcon.ini 30-phalcon.ini && cd ../../cli/conf.d/ && sudo ln -s ../../mods-available/phalcon.ini 30-phalcon.ini


Paso 6.4: Guardamos

Paso 7: Reiniciamos Apache
/etc/init.d/apache2 restart

Listo!

Ahora si hacemos un phpinfo, podemos ver la extensión instalada: