Estoy tratando de instalar la extensión de PHP de imagick en Windows. Estaba trabajando en PHP 5.2, PHP 5.3 pero tengo problemas con PHP 5.4.La extensión Imagick PHP 5.4 no funciona con rutas relativas. (windows)
Imagick versión: ImageMagick-6.7.6-3-Q16-windows-dll. El módulo está funcionando. Puedo ver imagick en phpinfo().
El problema es que imagick no reconoce la ruta relativa a los archivos. Por ejemplo, si tengo sencilla index.php y a.jpg en la misma carpeta, no puedo usar $im = new imagick('a.jpg');
porque consigo excepción:
Fatal error: Uncaught exception 'ImagickException' with message 'unable to open image `a.jpg': No such file or directory @ error/blob.c/OpenBlob/2614' in D:\Web\i\index.php:3 Stack trace: #0 D:\Web\i\index.php(3): Imagick->__construct('a.jpg') #1 {main} thrown in D:\Web\i\index.php on line 3
Pero cuando se utiliza la ruta absoluta $im = new imagick('D:\web\i\a.jpg');
Es trabajando.
Me enteré de que Imagick utiliza el núcleo de Apache como referencia. Guardé la imagen sin ruta:
$ im-> writeImage ('this-is-what-im-looking-for.jpg');
y lo encontré en C: \ Archivos de programa (x86) \ Apache24 \ esto-es-lo-im-looking-for.jpg
El problema es, que todos mis viejos guiones son escrito con rutas relativas y me gustaría contar con su uso.
No sé, si el problema está en imagick, o en algún lugar de PHP 5.4.
gracias de antemano
¿Cuál es tu pregunta? ¿No puedes usar '$ _SERVER ['DOCUMENT_ROOT']'? –
¿Es este el único problema de Imagick? ¿Puedes hacer 'echo __DIR__' y verificar si no es tu directorio de trabajo? –
Ben: mi pregunta es cómo hacer que imagick use el directorio actual (D: \ web \ i) como directorio de trabajo en lugar del directorio raíz de apache (C: \ Archivos de programa (x86) \ Apache24 \) (como estaba trabajando en versiones anteriores de PHP) –