eRIZ 4 Zgłoś post Napisano Luty 15, 2012 (edytowany) Postawiłem sobie środowisko z PHP na FreeBSD via php-fpm z chrootowaniem do katalogu użytkownika. Skompilowałem z obsługą imagick. I tu zaczynają się problemy, bo wykonanie nawet najprostszego kodu: try{ $img = new Imagick('img.jpg'); }catch(ImagickException $ex){ var_dump($ex); } Wysypuje mi całość: object(ImagickException)#2 (7) { ["message":protected]=> string(87) "NoDecodeDelegateForThisImageFormat `magick-VO6fZKY8' @ error/constitute.c/ReadImage/532" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(1) ["file":protected]=> string(23) "/chroot/script.php" ["line":protected]=> int(8) ["trace":"Exception":private]=> array(1) { [0]=> array(6) { ["file"]=> string(23) "/chroot/script.php" ["line"]=> int(8) ["function"]=> string(11) "__construct" ["class"]=> string(7) "Imagick" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> string(11) "img.jpg" } } } ["previous":"Exception":private]=> NULL } Ok, myślę sobie, brak odpowiednich libów. ldd na imagick.so, kopiuję biblioteki do /lib względem katalogu "więziennego": cp /usr/local/lib/libMagickWand.so.5 libMagickWand.so.5 cp /usr/local/lib/libMagickCore.so.5 libMagickCore.so.5 cp /lib/libthr.so.3 libthr.so.3 cp /lib/libc.so.7 libc.so.7 cp /usr/local/lib/liblcms2.so.2 liblcms2.so.2 cp /usr/local/lib/libtiff.so.4 libtiff.so.4 cp /usr/lib/liblzma.so.5 liblzma.so.5 cp /usr/local/lib/libjbig.so.1 libjbig.so.1 cp /usr/local/lib/libjpeg.so.11 libjpeg.so.11 cp /usr/local/lib/liblqr-1.so.3 liblqr-1.so.3 cp /usr/local/lib/libglib-2.0.so.0 libglib-2.0.so.0 cp /usr/local/lib/libintl.so.8 libintl.so.8 cp /usr/local/lib/libiconv.so.3 libiconv.so.3 cp /usr/local/lib/libpcre.so.0 libpcre.so.0 cp /usr/local/lib/libfftw3.so.6 libfftw3.so.6 cp /usr/local/lib/libfontconfig.so.1 libfontconfig.so.1 cp /usr/local/lib/libfreetype.so.9 libfreetype.so.9 cp /usr/local/lib/libexpat.so.6 libexpat.so.6 cp /usr/lib/libbz2.so.4 libbz2.so.4 cp /lib/libz.so.5 libz.so.5 cp /usr/local/lib/libltdl.so.7 libltdl.so.7 cp /lib/libm.so.5 libm.so.5 Niestety, skutek jest identyczny - wysypuje wyjątek, choć wszystkie biblioteki są (a przynajmniej powinny być) dostępne. Poguglałem, niestety - nic interesującego nie znalazłem, a mi pomysły się już skończyły. -- edit: ścieżki do obrazka, ale w rzeczywistym środowisku są ok. Edytowano Luty 15, 2012 przez eRIZ (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
eRIZ 4 Zgłoś post Napisano Luty 18, 2012 Nie kopiowałem w to samo, tylko w ogólnodostępne (binarka nie odwołuje się wewnętrznie do ścieżek bezwzględnych). Problemem było cache'owanie bibliotek przez php-fpm (nie przeładowywałem po dodaniu bibliotek), ale nie wpadłbym na to, gdybyś mnie nie nakierował na przetestowanie via chroot. [: Problem rozwiązany. Udostępnij ten post Link to postu Udostępnij na innych stronach