Tengo un bicho muy raro que todavía tengo que encontrar una solución. ACTUALIZACIÓN ver solución a continuaciónImageMagick: convertir png fallan a través de PHP y trabaja a través de shell bash
Lo que estoy tratando de hacer es convertir una imagen de tamaño completo en una miniatura de 160x120. Funciona a la perfección con el jpg y jpeg archivos de cualquier tamaño, pero no con png.
comando de ImageMagick:
/opt/local/bin/convert '/WEBSERVER/images/img_0003-192-10.png' -thumbnail x320 -resize '320x<' -resize 50% -gravity center -crop 160x120+0+0 +repage -quality 91 '/WEBSERVER/thumbs/small_img_0003-192-10.png'
función de PHP (abreviado)
...
$cmd = "/opt/local/bin/convert '/WEBSERVER/images/img_0003-192-10.png' -thumbnail x320 -resize '320x<' -resize 50% -gravity center -crop 160x120+0+0 +repage -quality 91 '/WEBSERVER/thumbs/small_img_0003-192-10.png'";
exec($cmd, $output, $retval);
$errors += $retval;
if ($errors > 0) {
die(print_r($output));
}
Cuando esta función se ejecuta $ retval igual a 1 que significa que el comando de conversión falló (miniatura no se crea).
Aquí es donde se pone interesante, si funciono el mismo comando exacto en mi concha, funciona.
wedbook:~ wedix$ /opt/local/bin/convert '/WEBSERVER/images/img_0003-192-10.png' -thumbnail x320 -resize '320x<' -resize 50% -gravity center -crop 160x120+0+0 +repage -quality 91 '/WEBSERVER/thumbs/small_img_0003-192-10.png'
wedbook:~ wedix$
He intentado utilizar una función PHP diferente como sistema, passthru pero no funcionó. Pensé que tal vez alguien aquí conocía la solución.
estoy usando
MAMP 1.7.2
Apache/2.0.59
PHP/5.2.6
Gracias!
ACTUALIZACIÓN
he actualizado las siguientes dependencias
libpng from 1.2.35 to 1.2.37
libiconv from 1.12_2 to 1.13_0
ImageMagick 6.5.2-4_1 to 6.5.2-9_0
Sin embargo, no se soluciona mis probl em.
segundo ACTUALIZACIÓN
fin encontré algo que podría ayudar, cuando la función se ejecuta esto es lo que se imprime en los registros de Apache:
dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
Referenced from: /opt/local/bin/convert
Reason: Incompatible library version: convert requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0
tercera ACTUALIZACIÓN
libiconv .2.dylib es la versión 8.0.0 ...
bash-3.2$ otool -L /opt/local/lib/libiconv.2.dylib
/opt/local/lib/libiconv.2.dylib:
/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
cuarto ACTUALIZACIÓN
problema estaba relacionado con MAMP, ver la solución por debajo
¡Muchas gracias! –