[OT] Duda sobre configuración de Zend Server y Phalcon

2013-11-11 Por tema Anggelo Urso Goddard
Estimados Listeros,

En su infinita sabiduría necesito que me iluminen sobre un tema que me
aflige hace varios días en el trabajo. Puede que ésta sea Off-Topic, pero
se los pregunto a ustedes debido a que es desde el punto de vista de los
SysAdmin y no de los humildes desarrolladores.

Siendo serios. Tengo una máquina Linux Debian Jessie de 64bits instalado,
el cual sólo me ha dado placer. Sin embargo, en la pega utilizan como
framework de desarrollo Zend Framework y su suite personal de configuración
llamada Zend Server (la cual trae su propia configuración de php.ini,
apache, etc). Se ha necesitado actualmente trabajar, además de Zend con
Phalcon, un framework PHP compilado en C que permite que éste trabaje más
rápido.

La instalación la seguí tal cual aparece en la página oficial de phalcon (
http://phalconphp.com/en/), sin embargo cuando realizo el proceso de
agregar el extension en el php.ini que utiliza mi servidor de desarrollo me
sale este lindo mensaje:

PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib/php5/20121212/phalcon.so' - /usr/lib/php5/20121212/phalcon.so:
undefined symbol: zend_new_interned_string in Unknown on line 0

Uno pensaría que no está la libreria phalcon.so en su lugar correcto, pero
no, verifique y realice diversas pruebas colocando la libreria en el
directorio de librerias de Zend, o que el extension apunte a donde
requiera, etc. Adjunto php.ini

extension=/usr/lib/php5/20121212/phalcon.so

Si ahora hago un file sobre phalcon.so me arroja

$file /usr/lib/php5/20121212/phalcon.so
/usr/lib/php5/20121212/phalcon.so: ELF 64-bit LSB  shared object, x86-64,
version 1 (SYSV), dynamically linked,
BuildID[sha1]=30c8c922f500d986190bec1592aefe9fa0370f71, not stripped

Como mencioné mi S.O es de 64 bits, la versión de Zend que estoy utilizando
es Zend Server 6.0 con versión de PHP 5.3.21. Leí por otro lado que al
parecer las librerias en PHP deben ser de 32 bits, pero no me queda muy
claro si el sistema es de 64.

Si alguien me puede iluminar, se lo agradecería bastante.

Atte
-- 
Anggelo Urso Goddard
Ingeniero Ejecución Informático
U.T.F.S.M - Casa Central


Re: [OT] Duda sobre configuración de Zend Server y Phalcon

2013-11-11 Por tema Marcos Ramirez Aranda


 El 11 de noviembre de 2013 a las 18:46 Anggelo Urso Goddard
 v4mp1r0.st...@gmail.com escribió:
 []Se ha necesitado actualmente trabajar, además de Zend con
 Phalcon, un framework PHP compilado en C que permite que éste trabaje más
 rápido.
 
 La instalación la seguí tal cual aparece en la página oficial de phalcon (
 http://phalconphp.com/en/), sin embargo cuando realizo el proceso de
 agregar el extension en el php.ini que utiliza mi servidor de desarrollo me
 sale este lindo mensaje:
 
 PHP Warning:  PHP Startup: Unable to load dynamic library
 '/usr/lib/php5/20121212/phalcon.so' - /usr/lib/php5/20121212/phalcon.so:
 undefined symbol: zend_new_interned_string in Unknown on line 0

Este error indica que la biblioteca phalcon.so requiere usar el símbolo (funcion
probablemente) zend_new_interned_string, pero éste no está definido en tu
versión de php.

 Uno pensaría que no está la libreria phalcon.so en su lugar correcto, pero
 no, verifique y realice diversas pruebas colocando la libreria en el
 directorio de librerias de Zend, o que el extension apunte a donde
 requiera, etc. Adjunto php.ini
 
 extension=/usr/lib/php5/20121212/phalcon.so

El problema no es que no encuentre la biblioteca, sino que el símbolo no está
definido. Esto usualmente ocurre por una inconsistencia entre tu versión de php
y la bilioteca que estás tratando de cargar.

 Como mencioné mi S.O es de 64 bits, la versión de Zend que estoy utilizando
 es Zend Server 6.0 con versión de PHP 5.3.21. Leí por otro lado que al
   ^^

AFAIK, el símbolo zend_new_interned_string apareció en la version 5.4 de php.

 parecer las librerias en PHP deben ser de 32 bits, pero no me queda muy claro
 si el sistema es de 64.

¿? tu mismo dices que tu SO es de 64 bits! y lo mismo dice la biblioteca.

 Si alguien me puede iluminar, se lo agradecería bastante.

Actualiza al menos a php 5.4, compila tu mismo la extensión tal como señala la
página de cpharo o instala desde algún repositorio para tu distro, lo que te
resulte mas conveniente.

Saludos

--
DOCUMENTO PUBLICO