Расширение Imagick PHP 5.4 не работает с относительными путями. (windows)

Я пытаюсь установить PHP-расширение imagick на Windows. Он работал на PHP 5.2, PHP 5.3, но у меня проблемы с PHP 5.4.

Версия Imagick: ImageMagick-6.7.6-3-Q16-windows-dll. Модуль работает. Я вижу imagick в phpinfo().

Проблема в том, что imagick не распознает относительные пути к файлам. Например, если у меня есть простые index.phpи a.jpgв одной папке, я не могу использовать $im = new imagick('a.jpg' );, потому что я получаю исключение:

Неустранимая ошибка: неперехваченное исключение «ImagickException» с сообщением «невозможно открыть изображение «a.jpg»: нет такого файла или каталога @ error/blob.c/OpenBlob/2614» в D:\Web\i\index.php:3 Трассировка стека: #0 D:\Web\i\index.php(3): Imagick->__construct('a.jpg') #1 {main} добавлено D:\Web\i\index.php в строке 3

Но когда я использую абсолютный путь $im = new imagick('D:\web\i\a.jpg');это работающий.

Я обнаружил, что Imagick использует основной каталог Apache в качестве эталона. Я сохранил изображение без пути:

$im->writeImage( 'это-то, что я ищу.jpg' );

И я нашел его в C:\Program Files (x86)\Apache24\this-is-what-im- seek-for.jpg

Проблема в том, что все мои старые скрипты написаны с относительные пути, и я хотел бы продолжить их использование.

Не знаю, проблема в самом imagick или где-то в PHP 5.4.

Заранее спасибо

14
задан filip.karas 31 March 2012 в 09:51
поделиться