How to install PHP-IMAP extension in Mac

I’ve finally found the solution. Most of it was here:

My machine is a late 2011 Macbook Pro with MacOSX 10.7.4, PHP 5.4. installed via these instructions:

Here’s a step-by-step for those with a similar or identical setup:

Download the imap source from this url, focus on the one with the most recent date which doesn’t end in “Z”:

Unarchive, go into folder, run the following commands:

$ make osx EXTRACFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp"

The above command will throw a bunch of warnings at you, but should complete sucessfully, unlike the command originally suggested in the september28 blog post.

Next, do the following:

$ sudo cp c-client/*.h /usr/local/include/
$ sudo cp c-client/*.c /usr/local/lib/
$ sudo cp c-client/c-client.a /usr/local/lib/libc-client.a

Once this is done, go into the downloaded php source folder if you made a custom upgrade like I did (as per the second link in the answer) and build the extension for your system. If you didn’t build a custom version, just download the PHP source for the version you have installed, and use that, it doesn’t matter.

$ cd ~/Downloads/Php-5.4.4/ext/imap
$ phpize
$ ./configure --with-imap==/usr/local/imap-2007 --with-kerberos --with-imap-ssl
$ make

Once done, do the following:

$ sudo cp modules/ /usr/lib/php/extensions/no-debug-non-zts-20100525/

…or if your PHP extension folder is different, put that (you can see the location in phpinfo(); )

Restart apache and you should be ready to go.

$ sudo apachectl restart

Error ORA-06502 Oracle y PHP

El problema se presentó usando PHP con Zend Framework 1 y Oracle 11G más detalles a continuación.

Oracle stored procedure:

(ls_parametro varchar2
 ls_mensaje out varchar2)

Llamando al stored procedure desde PHP:

$param = 'test ';
$mensaje = ''; //O nulo
$params = array(
	'PARAM' => $param,
	'MENSAJE' => &$mensaje,

$sql = 'BEGIN 
$stmt = $db->prepare($sql);

$respuesta = $mensaje;

Con los pasos anteriores obtengo el siguiente error por parte de Oracle:

6502 ORA-06502: PL/SQL: error : 
buffer de cadenas de caracteres demasiado 
pequeño numerico o de valor.

Para este caso ls_mensaje del stored procedure solo puede guardar un caracter, si pasa de uno aparece el error ORA-06502.
Mi solución fue la siguente:

$mensaje = str_repeat(' ', 4000);

Declarar la variable con un máximo tamaño para VARCHAR2 de Oracle.


JasperPHP, es una libreria PHP que permite realizar exportación de reportes en PHP a diferentes formatos a través de un solo archivo, así es ya no debes usar una librería para cada archivo formato que debas exportar.

A través de un solo archivo (*.JRXML) puedes exportar tus reportes en diferentes formatos.


Entre estos formatos tenemos PDF, XLS, DOC, DOCX, PPTX, CSV, HTML, ODS, ODT, TXT y RTF. Tambien hay posibilidad de exportarlo a SWF pero esa funcionalidad aún está en progreso.

Si desean ver el código de esta librería pueden ver el repositorio oficial de JasperPHP en GitHub.