Imagick php windows
Я пытаюсь использовать iMagick в Symfony2.
Я использую PHP 5.4.16 и все, что я сделал:
1-копировать php_imagick_nts.dll из каталога php5-4 из извлеченного http://valokuva.org / ~Микко / imagick-php54-php53.tgz к php / ext .
2-переименуйте его в php_imagick.dll и добавьте " расширение=php_imagick.dll " на php.ini
3-создайте такую страницу:
<?php
$a = new Imagick();
?>
но я получаю это :
Fatal error: Class ‘Imagick’ not found in C:xampphtdocsinfo.php
когда я попытался использовать это в контроллере symfony, ошибка возникает снова:
FatalErrorException: Error: Class 'Imagick' not found
к сожалению, сведения о расширении imagick не отображаются в выводе " phpinfo ()"
эта версия несовместима с PHP 5.4.16 ?! Если да, то какую версию я должен использовать? Куда? Спасибо за любую помощь...
5 ответов
Я потратил много часов, пытаясь заставить Imagick работать, наконец, я получил его.
мои инструкции по установке
- установите WAMP 32bit (даже если вы используете 64-битную систему, вы должны использовать 32-битную версию WAMP)
- установить ImageMagick на C:/imagemagick, используйте этот файл:https://www.dropbox.com/s/i2mhrhd7sp0ilzk/ImageMagick-6.8.0-3-Q16-windows-dll.exe
- поместите DLL с Imagick в папку расширения PHP, например D:\wamp32\bin\php\php5.4.16\ext, я использовал этот файл:https://www.dropbox.com/s/ayankf850l08rm2/php_imagick.dll
- в php.ini put line "SetEnv MAGICK_HOME C:/imagemagick" без кавычек
- лучше перезагрузить ПК
я использую Wamp 2.4, PHP 5.4.16, Apache 2.4.4, ImageMagick 6.8.0-3 2012-10-24 Q16, Imagick 3.1.0RC2-все 32bit, OS Win8 64bit
теперь он должен работать, и вы должны увидеть расширение Imagick загружается в функцию phpinfo.
Я пробовал много версий ImageMagick, но более новые версии не работали, 6.8.0-3-Q16-Windows-dll работает нормально.
в Symfony2
в Symfony2 используйте Imagick следующим образом:
$im = new \Imagick('image.jpg');
после попытки многих решений ни один из них не работал.
мне удалось установить его на Windows 10 64-бит, Apache 2.4 и PHP 5.6, но я думаю, что он должен работать для всех версий.
надеюсь, у вас не будет проблем с установкой Imagick для PHP.
Шаг 1) Соберите информацию
прежде всего, вы должны собрать некоторую информацию о вашей среде PHP.
вы можете легко увидеть ваши данные по PHP с функция phpinfo()
необходимая информация:
- архитектура: x86(32-разрядная версия) или x64 (64-разрядная версия)
-
PHP-версия: вы можете найти это в заголовке
phpinfo()
выход. -
PHP расширение сборки: эта строка содержит 2 важные части:
- NTS или TS
- VCx (как VC11)
- Загруженный Файл Конфигурации: путь к использовать php.ini.
Шаг 2) Скачать Binary
вы можете скачать бинарные с официального сайта ImageMagick. Я рекомендую вам прочитать небольшое введение в разделе "двоичный выпуск Windows", чтобы быть уверенным, какие" биты на пиксель " выбрать(8 или 16). Загрузка последней версии должна быть просто штраф.
убедитесь, что этот двоичный файл имеет ту же архитектуру, что и ваша архитектура PHP, которую вы собрали в Шаг 1.
Шаг 3) Установите Binary
установите двоичный файл на свой . Например: C:\wamp64\bin\php\php5.6.16\bin
. (Это может быть любая папка, но для удобства я поместил сюда)
убедитесь, что установлен флажок "добавить каталог приложений в системный путь". Должен быть проверен по умолчанию.
Шаг 4) Скачать расширение PHP
на DLL
PHP расширение доступно через сайт php Windows pecl
опять же, вы можете просто нажать на последнюю версию.
Далее, выберите правильную версию на основе собранной информации.
Например: php_imagick-3.4.1-5.6-nts-vc11-x64.zip
это можно разделить на компоненты:
- php_imagick-3.4.1 - это является расширением php imagick с версией. Это не важно.
- 5.6 - это ваша версия PHP и должна быть равна PHP-версии, которую вы используете, которую вы определили в Шаг 1.
- НЦ - это должно быть равно информации вашего PHP расширения сборки, которые вы собрали в Шаг 1.
- VC11 - это также должно быть равно информации из вашего PHP расширения сборки, которые вы собрали в Шаг 1.
- х64 - это архитектура расширения и должна быть равна вашей архитектуре PHP, которую вы собрали в Шаг 1.
Шаг 5) извлечь расширение PHP
после того, как вы загрузили файл, вы должны открыть .zip
file и найдите файл с именем:php_imagick.dll файлы.
Извлечь этот файл в phpx.x.xx\ext
.
убедитесь, что .dll
файл полностью доступен для вас. Иногда вам нужно explicity разблокировать файл.
Шаг 6) активировать расширение PHP
активировать расширение в PHP, вы должны указать в своем php.ini
файл, который вы хотите использовать это расширение.
Ты собрал путь к своему использовать php.ini
файл на шаге 1.
добавить строку extension=php_imagick.dll
в свой php.ini
Шаг 7) перезагрузите компьютер
просто чтобы убедиться, перезагрузите компьютер так все Environment Path
S будет правильно загружен.
это должно установить Imagick
правильно с последними версиями и правильной архитектурой.
Imagick
должны быть перечислены в phpinfo()
с соответствующими" поддерживаемыми форматами ImageMagick " (просто убедитесь, что он не пуст).
Я уверен, что это связано с не имея модуль загружен правильно или .dll помещается в неправильном месте.
вы можете использовать внутреннюю функцию PHP extension_loaded () чтобы проверить перед использованием класса,
<?php
/**
*
**/
if (!extension_loaded('Imagick')) {
//Load some error.
}
?>
Это способ вы можете проверить, если модуль даже будучи reconsigned в PHP вообще. PHP также предоставляет функцию для просмотра ваших текущих расширений get_loaded_extensions ():
<?php
/**
* Get an Array of current
* PHP extensions for debugging
**/
print_r( get_loaded_extensions() );
?>
убедитесь, что вы делаете:
- Проверьте правильно расположение папки библиотеки расширений в вашем
phpinfo()
- выполнить жесткий перезапуск вашего сервера xmapp/wamp.
- если вы находитесь на PHP 5.4 или выше (как и вы!), см. сайт ниже для обновленных двоичных файлов
после исследования тоже Imagick, похоже, имеет проблемы с PHP 5.3 или вверх; загрузите новые DLL с этого сайта ниже (неофициально):
также найдены другие статьи StackOverFlow, которые имеют ту же проблему:
Stackoverflow: попытка запустить imagick на PHP 5.4.3 в Windows x64
как вариант вы можете использовать GD расширение для более или менее выполнения некоторых из тех же функций, которые вам требуются. Я верю GD является более широко поддерживаемым модулем / расширением в более поздних версиях PHP.
Я использую: Wamp 2.4, PHP 5.4.16, Apache 2.4.4, ImageMagick 6.8.0-3 2012-10-24 Q16, Imagick 3.1.0RC2-все 32bit, OS Win7 32bit
инструкции fmstoun работал отлично для меня. Поскольку я потратил много часов, пытаясь заставить dll работать, я хотел добавить к шагам, данным fmstoun.
- перезагрузите компьютер.
- использовать полный путь к изображению, например:
$image = new Imagick($_SERVER['DOCUMENT_ROOT'] . '/images/test.jpg');
- убедитесь, что система имеет 1 одну запись для : C:/imagemagick и больше никаких переменных среды для imagemagick. Если какие-либо Предыдущие установки имеют путь, удалите эти пути и перезагрузите компьютер
- убедится
http : / / localhost/
wamp показывает 'imagick' как загруженное расширение - если расширение загружено правильно, оно должно отображаться в phpinfo () также как:
imagick module | enabled
-
ImageMagick version|ImageMagick 6.8.0-3 2012-10-24 Q16
и еще немного информации об imagemagick.
учитывая дату этот пост, последняя версия imagemagick предоставляются на официальном сайте: ImageMagick-6.8.8-1-Q16-x86-dll.исполняемый который не загружает расширение (как видно из журналов ошибок apache после перезагрузки). Поэтому используйте версию, упомянутую fmstoun.
надеюсь, что этот ответ экономит пару часов усилий и экономит время, необходимое для прохождения около 15 вопросов по той же теме, а также на разных форумах.
извините за мой плохой английский:
1º установить Appserv
именем: "с appserv-с Win32-2.5.10.EXE-файл"
URL скачать: h * ttp: / / www.appservnetwork.com / (без *)
порт Apache: 8080
2º скачать PHP 5.3 (Apache 2.2 не поддерживает superior)
имя файла: "php-5.3.29-Win32-VC9-x86.zip"
Как?: Thread Safe
скачать url: ч*ТТП://окна.в PHP.сеть/скачать с PHP-5.6 (без *)
3º остановить Apache
4º удалить все содержимое папки "..\\С appserv рнр5"
5º скопируйте содержимое zip в "..\\С appserv рнр5"
6º добавить строку
дата.часовой пояс = " America / Buenos_Aires "(это моя зона, найдите свою на странице php)
к " php.ini " in "c:\Windows\php - ... ini-файл"
чтобы избежать ошибки даты в PHP
начало 7º Апач
=============================
IMAGIC (после установки PHP 5.3)
1º Instalññ Image magic 6.7 (не превосходит, PHP 5.3 не поддерживает)
имя файла: "ImageMagick-6.7.9-9-Q16-Windows-dll.EXE-файл"
URL скачать:http://ftp.icm.edu.pl/packages/ImageMagick/binaries/
2º скачать Imagic
имя файла: "php_imagick-3.1.2-5.3-ts-vc9-x86.zip"
URL-адрес скачать: http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/
3º в директории " php5 / ext "добавьте файл" php_imagick.dll " из последней загрузки zip (другим файлам все равно)
4º добавить строку
расширения=php_imagick.dll файлы
к " php.ini " in "c:\Windows\php - ... ini-файл"
5º перезапустить Apache