Intereting Posts
проверка, если логин и корзина пуста как передать переменную POST по ссылкам на собственные страницы? Как я могу запросить использование внешнего ключа в MySQL? PHP instanceof для черт Форма электронной почты более 20 значений Преобразование XML с помощью XSLT в PHP Laravel 4 – Конструктор родительских конструкторов дочерних конструкторов с инъекцией зависимости Загрузка файла Async IE8 Должен ли я передавать переменную $ mysqli для каждой функции? Почему в ячейке используется левая и верхняя набивка с использованием TCPDF в php? Существует ли эквивалент call_user_func () для создания экземпляра нового класса? Получить весь простой продукт из настраиваемого продукта в представлении продукта Magento Как безопасно запретить запуск загруженного файла через PHP на любом сервере? Использование oci_parse и oci_execute Мой экспорт csv, отображающий html, как избавиться?

Установка расширения ImageMagick с помощью php / windows

Запуск PHP версии 5.2.5 на Windows Server 2003 с IIS.

Имейте практически идентичный сервер, где мы смогли установить ImageMagick без проблем. Он работает с той же версией php. Для установки были выполнены следующие шаги, но на этом сервере он просто не работает. Сам ImageMagick установлен, но php не загружает расширение.

Мы потратили часы, пытаясь установить расширение. Он просто не появится в phpinfo ().

УСТАНОВИТЬ ШАГИ

Чтобы установить IMagick в Windows XP (PHP 5.2.x)

  1. загрузить и установить ImageMagick-6.5.8-7 Q16-windows-dll.exe http://www.imagemagick.org/download/binaries/ImageMagick-6.5.8-7-Q16-windows-dll.exe

  2. скачать php_imagick_dyn-Q16.dll с php_imagick_dyn-Q16.dll http://valokuva.org/outside-blog-content/imagick-windows-builds/080709/

    скопируйте DLL в [PHP] / dir и переименуйте его в php_imagick.dll

  3. Вы должны отредактировать файл php.ini и добавить новое расширение:

     extension=php_imagick.dll 
  4. Сохраните php.ini и перезапустите сервер Apache. (При необходимости перезагрузите Windows)

  5. phpinfo() должен показывать включенное изображение.

    Нашел очень полезный ответ, который дал пользователь Buttercup, также, если бы он мог быть более ясным.

    Моим сценарием был Windows 2012 R2 x64, PHP 5.5.19 x64 и нужно установить ImageImagick с поддержкой PHP. Следующие пункты ниже я смог установить ImageImagick 6.9.0 x64 и PHP_Imagick.dll 3.1.2 (обе в настоящее время являются последними стабильными версиями).

    Обратите внимание, что я загружал все компоненты (PHP, ImageImagick и PHP_Imagick) в режимах NTS и x64: не в режимах TS и / или x86. Я не знаю, применимо ли это в вашем собственном случае.

    То, что мне не показалось, что я читаю Buttercup (как для пользователя RhoVisions), был его комментарий: «Перезаписать DLL, найденные из ImageMagick 6.8.8. Версия для Windows с версией PHP».

    Итак, это то, что я сделал (на основе решения Buttercup, которому я должен снова и снова благодарить вас!): 1) загрузите последнюю программу установки ImageMagick EXE с http://www.imagemagick.org/script/ binary-releases.php # windows В моем случае я загрузил первый файл, доступный как HTTP-загрузку с надписью «Win64 dynamic с 16 бит на пиксель» (имя файла: ImageMagick-6.9.0-0-Q16-x64-dll.exe)

    2) Запустите программу установки только что загружен. Я установил его на простой путь, например C: \ ImageMagick6.9.0 (но я не думаю, что это так важно, чтобы отодвинуть его от программных файлов). Кроме того, во время установки я не изменял никаких других параметров по умолчанию.

    3) загрузите последнюю версию DLL-файла PHP_Imagick с веб-сайта PECL по адресу: http://pecl.php.net/package/imagick. Я выбрал стабильную версию (не Beta или RC), в моем случае 3.1.2, щелкнув «Логотип Windows» "+" DLL ". В моем случае это было связано с ht tp: //pecl.php.net/package/imagick/3.1.2/windows. На открывшейся странице вы найдете таблицу: вы должны выбрать свой файл в зависимости от: а) числа версии PHP у вас есть (в моем случае были доступные DLL для PHP 5.3, 5.4, 5.5, 5.6) b ) x64 или x86 версия PHP у вас есть c) NTS или TS версия PHP у вас есть Мое дело – это PHP 5.5.x, x64, NTS: поэтому я загрузил тот, который был помечен как «5.5 Non Thread Safe (NTS) x64» (файл имя: php_imagick-3.1.2-5.5-nts-vc11-x64.zip)

    4) Разархивируйте ZIP-файл php_imagick и: a) скопируйте файл php_imagick.dll в папку EXT вашей установки PHP. B) скопируйте и замените ВСЕ CORE_RL_ .dll из папки, которую вы только что распаковали, в папку, которую вы выбрали в пункте №2. Очевидно, пожалуйста, резервное копирование замененных файлов. В моем случае я скопировал 8 файлов CORE_RL_ .dll из распакованной папки в C: \ ImageMagick6.9.0. Я ушел в C: \ ImageMagick6.9.0, остальные CORE_RL _ *. Dll не были перезаписаны.

    5) Отредактируйте и сохраните файл PHP.ini, чтобы добавить эту простую строку: extension = php_imagick.dll

    6) Перезагрузите свой сервер (к сожалению, я не нашел хорошей альтернативы перезагрузке: также IISRESET из командной строки администратора не работает).

    7) Когда перезагрузка завершена, вы можете удаленно посетить браузер phpinfo.php, чтобы убедиться, что модуль Imagick в порядке. В моем случае это было так.

    Надеюсь, это поможет!

    Я нашел альтернативный источник. Прямая загрузка PECL.

    Установить шаги

    Установка ImageMagick

    Где скачать последнюю версию ImageMagic, совместимую с IIS 8.1 / Windows 2012r2 php x64:

    http://windows.php.net/downloads/pecl/deps/

    Навигация и загрузка: ImageMagick-6.8.8-vc9-x86.zip для PHP 32-bit, 5.4.xx

    ImageMagick-6.8.8-vc11-x86.zip для PHP 32-бит, 5.5.xx

    ImageMagick-6.8.8-vc11-x64.zip для PHP 64-бит, 5.5.xx

    Советы:

    • Перезапишите DLL, найденные из ImageMagick 6.8.8. Версия Windows с версией PHP.

    • Вам необходимо перезагрузиться, если файлы заблокированы в памяти.

    Расположение php_imageMagick.dll

    http://windows.php.net/downloads/pecl/releases/imagick/

    загрузите соответствующие библиотеки DLL.

    Вы получаете последнюю версию DLL-файлов ImageMagick, php_imagemagick.dll (как небезобезопасных, так и потокобезопасных версий).

    Наконечник:

    • Если вы потеряете файл php5ts.dll, вы скачали неправильную версию php_imagemagic.dll и загрузите другую версию.

    • если вы используете IIS – используйте версию «NTS» – php_imagemagick_nts.dll

    • если вы используете Apache – используйте версию «TS» – php_imagemagick_ts.dll

    В Windows вы должны проверить 3 параметра, если хотите добавить расширение на php-сервер:

    1. Версия компилятора, скомпилированная вашим php-сервером (VC9 или VC10), указанная в phpinfo() .

    2. Номер API расширения PHP, который указан в phpinfo() .

    3. Наиболее важным параметром является то, является ли ваш веб-сервер ts (потокобезопасным) или nts (небезопасный поток), который указан в phpinfo() .

    Я понял, что по умолчанию IIS является nts, а расширение php должно быть скомпилировано с помощью php-библиотеки nts для правильной работы на вашем веб-сервере. Однако, если вы хотите правильно загрузить ваше расширение, ваше расширение и ваш веб-сервер php должны быть одинаковыми в этих трех параметрах.

    Это старый вопрос, но раньше я сталкивался с аналогичными проблемами с PHP / IIS. Несколько вещей, которые я мог бы предложить дважды проверить:

    • Используйте страницу phpinfo, чтобы увидеть, редактируете ли вы правый файл php.ini, посмотрите на «Загруженный файл php.ini» на первой странице (как это глупо, как я уже говорил, раньше это делало PHP). для него в его собственной папке, иногда C: \ Windows)
    • также попробуйте включить display_errors в On и error_reporting в E_ALL в php.ini и посмотреть, есть ли сообщения об ошибках в самом низу файла phpinfo. Обычно он, по крайней мере, признает невозможность загрузки вашей DLL.

    На обоих http://www.imagemagick.org/download/binaries/ и http://valokuva.org/outside-blog-content/ имеется несколько файлов DLL: один для x64 и другой для x86. Если ваша Windows XP 32-разрядная, вам нужно попробовать x86 DLL.

    Вам не нужно перезапускать окна. Вам необходимо перезапустить пулы приложений, в которых работает PHP exe. Это может быть сделано путем сброса IIS (это лучший вариант для сброса всех пулов приложений). Или переработайте пулы приложений, на которых запущен PHP.

    ничего не работало, пока я не установил права на папку imagick и c: \ windows \ temp (IUSR read / execute для imagick, read / write / execute для Windows \ temp).

    * Я не на 100% уверен, что чтение / запись / выполнение были необходимы для Windows \ temp, но он был указан на сайте где-то во время моего google-серфинга *

    Довольно точно, что часть перезагрузки состоит в том, чтобы убедиться, что папка imagick находится в каталоге системного пути и отображается в phpinfo (), она уже была на моем пути, поэтому мне не пришлось перезагружаться после установки разрешений.

    Это довольно сложно сопоставить расширениям imagix с их базой и версией PHP. Итак, чтобы избавиться от проблем установки, я бы предложил использовать стек сервера, который отправляет Imagick и его расширение, например WPN-XM .

    В моем случае перезагрузка Windows (упомянутая в шаге 4) сделала трюк.