Instalar APC en Snow Leopard

2 Comentarios

Actualmente estoy integrando Doctrine 2 con Zend Framework.

A la hora de executar en la terminal doctrine orm:validate-schema me encontraba con el siguiente error:

PHP Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch() in /vhosts/doctrine/library/Doctrine/Common/Cache/ApcCache.php on line 59

Esto sucede porque no tengo instalado el APC.

Para instalar correctamente el APC se han de indicar en Snow Leopard unos flags para que el APC se compile con la arquitectura adecuada

wget http://pecl.php.net/get/APC-3.1.3p1.tgz
tar -xvf APC-3.1.3p1.tgz
cd APC-3.1.3p1
/usr/local/zend/bin/phpize

MACOSX_DEPLOYMENT_TARGET=10.6
CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp"
CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"
CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"
LDFLAGS="-arch i386 -arch x86_64 -bind_at_load"
export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET

./configure --enable-apc-mmap --with-apxs=/usr/sbin/apxs --with-php-config=/usr/local/zend/bin/php-config

make
sudo make install

Luego insertamos en el php.ini

extension=apc.so

apc.enabled=1
apc.shm_segments=1
apc.shm_size=128
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1

Reinicia el apache y revisa la configuración del APC con phpinfo(), verás que se ha compilado correctamente.

Actualización: Si al recargar las paginas web se os queda la página en blanco mirar los logs de php. Si os aparece:
Module 'apc' already loaded in Unknown on line 0 comentar la linea extension=apc.so poniendo un “;” (punto y comoa) delante.

2 response to Instalar APC en Snow Leopard

  1. John Espitia

    Disculpa tu lograste la integración entre Zend Framework y Doctrine 2?
    Si es así, podrias regalarme un ejemplo?, estoy algo atareado con este tema y no he encontrado información al respecto, te agradecería bastante tu ayuda.

  2. admin

    Hola John,

    Pues la verdad es que he desistido, me encontre con bastantes problemas pero algo pude hacer (pero nada bueno)
    He buscado entre todas mis pruebas y solo encuentro esto (http://www.backtheweb.com/apps/rrhh.local.zip) no se si funciona pues lo zipeé y me olvidé del tema. Espero que te sirva.

    Mirate el bootstrap , la carpeta scripts. Necesitarás tener configurado Doctrine en tu include_path

    Saludos