En Mac OS X Leopard es muy fácil instalar la extensión uploadprogress. Basta con ejecutar en la terminal el comando:
sudo pecl install uploadprogress
El problema surge cuando se trata de OS X Lion. Todo parece ir bien hasta que reincidas el apache y el PHP salta con el siguiente error:
PHP Startup: Unable to load dynamic library '/usr/local/zend/lib/php_extensions/uploadprogress.so' - dlopen(/usr/local/zend/lib/php_extensions/uploadprogress.so, 9): no suitable image found. id find: /usr/local/zend/lib/php_extensions/uploadprogress.so: mach-o, but wrong architecture in Unknown on line 0
Si no has configurado la ruta del php.ini en el pcel es buen momento para hacerlo con el comando:
sudo pecl config-set php_ini /usr/local/zend/etc/php.ini
Si ya hemos instalado el uploadprogress lo primero que haremos será desinstalarlo con:
sudo pecl uninstall uploadprogress
Ahora descargamos la última versión de desde http://pecl.php.net/package/uploadprogress (en el momento de escribir este post la versión actual es la 1.0.3.1) y lo descomprimimos.
A continuación desde la terminal nos movemos hasta la carpeta de la extensión:
cd /Users/jordi/Downloads/uploadprogress-1.0.3.1/uploadprogress-1.0.3.1/
Y empezamos tecleando:
phpize
Que nos responderá con algo como:
Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
Ahora ejecutamos el comando configure tal como muestro a continuación:
MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --with-php-config=/Developer/SDKs/MacOSX10.7.sdk/usr/bin/php-config
Luego:
make
Y luego:
make install
Si no hemos configurado la ruta del php.ini en pecl nos pedirá que agreguemos la extensión a nuestro php.ini añadiendo la siguiente linea:
extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/uploadprogress.so
Reiniciamos el apache y ya tenemos la extensión uploadprogress funcionando.
