Próbuję zainstalować rozszerzenie PHP imagick na windows. Pracował na PHP 5.2, PHP 5.3, ale mam problemy z PHP 5.4.Rozszerzenie Imagick PHP 5.4 nie działa ze względnymi ścieżkami. (Windows)
Wersja w wersji Imagick: ImageMagick-6.7.6-3-Q16-windows-dll. Moduł działa. Widzę obraz w phpinfo().
Problem polega na tym, że obraz nie rozpoznaje względnej ścieżki do plików. Na przykład, jeśli mam prosty index.php i a.jpg w tym samym folderze, nie mogę używać $im = new imagick('a.jpg');
ponieważ otrzymuję wyjątek:
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
Ale kiedy użyć ścieżki bezwzględnej $im = new imagick('D:\web\i\a.jpg');
jest pracujący.
Dowiedziałem się, że Imagick używa referencyjnego rdzenia Apache'a. Zapisałem obraz bez ścieżki:
$ im-> writeImage ("this-is-what-im-looking-for.jpg");
I znalazłem go w C: \ Program Files (x86) \ Apache24 \ this-is-what-im-szuka-for.jpg
Problem polega na tym, że wszystkie moje stare skrypty są napisane względnymi ścieżkami i chciałbym je zliczyć.
Nie wiem, czy problem leży w samym obrazie, czy gdzieś w PHP 5.4.
góry dziękuję
Jakie jest Twoje pytanie? Nie możesz użyć '$ _SERVER ['DOCUMENT_ROOT']'? –
Czy to tylko problem z Imagick? Czy możesz zrobić "echo __DIR__" i sprawdzić, czy to nie jest twój katalog roboczy? –
Ben: Moje pytanie brzmi: jak sprawić, aby obraz był używany jako katalog bieżący (D: \ web \ i) jako katalog roboczy zamiast katalogu głównego Apache (C: \ Program Files (x86) \ Apache24 \) (ponieważ działał w starsze wersje PHP) –