2013-03-16 22 views
6

Mam Windows 7 64 bity, PHP 5.4.3 zainstalowane przez WAMP 2.2 i imagick (ImageMagick-6.8.3-9-Q16-x64-dll.exe). Próbuję użyć dll PZP z dnia Imagick z wielu źródeł, ale wszystkie z nich daje ten błąd w apache_error.log:Próba uruchomienia grafiki w PHP 5.4.3 na Windows x64

PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.3/ext/php_imagick.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0 

wszelkie myśli o tym, jak rozwiązać ten problem?

Odpowiedz

3

być może to pomóc: step-by-step instructions for installing IMAGEMAGICK on WAMP? i

http://www.elxsy.com/2009/07/installing-imagemagick-on-windows-and-using-with-php-imagick/

„Żeby było jasne, wszystkie pliki dll PHP (librarires) są 32-bitowe, więc jeśli Twój system jest 64 bitowy i nadal będziesz musiał pobrać i uruchomić 32-bitowy ImageMagick, Apache, itp. "

+0

64bit dll dla imagemagick można znaleźć tutaj: http://pecl.php.net/package/imagick/3.1.2/windows – SileNT

+0

Powyższy komentarz o obsłudze 32-bitowego ImageMagick, Apache itp. jest niepoprawny. Działa dobrze w całym 64-bitowym ustawieniu z poprawnymi bibliotekami. – guntars

1

Dla 64-bitowej wersji conajmniej 5.4.x WAMP (PHP, PHP 5.4.12 wątek bezpieczny w moim przypadku) połączenie pracy jest następujący:

ImageMagick-6.8.7-8-Q16-x64-dll. exe lub ewentualnie ostatni Q16/64/DLL stąd: http://www.imagemagick.org/script/binary-releases.php#windows

i php_imagick-svn20120508-5.4-VC9-x64 stąd: http://www.mediafire.com/php-win64-extensions

+0

Niewiarygodne, działało to po godzinach próbowania różnych kombinacji. Jednak wersja 6.8.7-8-Q16-dll nie jest już dostępna na zamieszczonym przez ciebie linku, ale można ją znaleźć [tutaj] (http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/binaries /) – bg17aw

3

poszedłem przez ten sam ból. Win64 + php-x86. W końcu było to coś stosunkowo prostego do naprawienia - chodzi tylko o ścieżki.

Najpierw zainstalowałem pełną wersję ImageMagic-x64, a następnie rozszerzenie. Później zauważyłem, że instalator dołączył rozszerzenie ImageMagic na początku ścieżki PATH. Na wszelki wypadek próbowałem z wersją x86 i otrzymałem różne błędy dotyczące brakujących plików DLL.

Tak na wszelki wypadek całkowicie odinstalowałem ImageMagic i wyczyściłem wszystkie odniesienia do niego ze środowiska (było to w PATH i MAGICK_HOME).

Następnie zainstalowałem tylko rozszerzenie (w moim przypadku z http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/ otrzymałem php_imagick-3.1.2-5.4-nts-vc9-x86.zip) i rozpakowałem je w folderze ext.

Objawienie przyszedł po próbowałem uruchomić to z wiersza poleceń: php -i i masz błąd, że nie może znaleźć CORE_RL_wand_.dll - ale nie widziałem go w folderze ext!

Dodanie C: \ Progra ~ 2 \ PHP \ EXT na końcu zmiennej środowiskowej PATH rozwiązało ją (po upewnieniu się, że nie ma żadnych innych interferencji bibliotek DLL).

Uwaga: Kiedyś ścieżkę 8.3 do "C: Program Files \ (x86) \ php \ ext" - tak na wszelki wypadek jak widziałem PHP jest czasami wybredna i nie można rozwiązać ścieżki ze spacjami w nich.

Ponadto - po zepsuciu się z PATH może być konieczne ponowne uruchomienie komputera - w moim przypadku zadziałało to od razu z wiersza poleceń, ale IIS miał buforowaną (starszą) ścieżkę.

Podsumowując: podejrzewam, że rozszerzenie PHP opiera się na niektórych bibliotekach DLL (które dostarcza jako część ZIP), ale te same są również częścią standardowej instalacji ImageMagick, z tym że te dwie nie są dokładnie takie same - jeśli zdarza się, że ładujesz niewłaściwe, fajne rzeczy się zdarzają ...