簡體   English   中英

如何在 Windows 7 上安裝 ImageMagick 以與 PHP 一起使用 (3)

[英]How to install ImageMagick to use with PHP on Windows 7 (3)

還有其他關於如何在 Windows 7 上安裝 Imagick 的線程,但到目前為止對我沒有幫助。 (也許最近的版本出現了問題)

我已按照以下步驟進行安裝:

  1. 下載並安裝 ImageMagick

http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe

  1. 下載 php_imagick.dll 並復制到擴展目錄 (c:\\xampp\\php\\ext)

http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll

  1. 編輯 php.ini 文件並添加新的擴展名 (c:\\xampp\\php\\php.ini)

擴展名=php_imagick.dll

  1. 保存 ini 文件並重新啟動 Apache(如有必要,請重新啟動 Windows)

  2. 啟動Apache並運行測試

當我啟動 Apache 時,我得到一個彈出框,顯示:

程序無法啟動,因為您的計算機缺少 php5.dll。 嘗試重新安裝程序以解決此問題。

然后緊接着是另一個:

PHP 啟動:無法加載動態庫 'C:\\xampp\\php\\ext\\php_imagick.dll' - 找不到指定的模塊。

根據 funtioneer 的說法,我懷疑存在某種編譯錯誤。

現在我有 PHP 版本 5.5.6 (xampp 1.8.3) 和編譯器 MSVC11,它與 php_imagick.dll 文件相同。

從源代碼下載 ImageMagick 並自行編譯是正確的方法嗎? (以前從未在 Windows 中編譯過)

我沒有使用最新版本,而是嘗試從這里下載 ImageMagick-6.7.7-5-Q16-windows-dll。 那個實際上與來自http://www.peewit.fr/imagick/的 php_imagick.dll (Imagick for PHP 5.5.x) 一起工作。

這不是最新版本,但它有效。 (即使沒有重新啟動計算機)

在嘗試了互聯網上發布的幾乎所有可能的解決方案后,最終對我有用:

環境:

OS: Windows Server 2008 R2 (64bit)

IIS: 7.5

PHP: 5.5.11 (x86)

PHP.ini: VC11, x86

下載並安裝 ImageMagick

ImageMagick-6.8.9-1-Q16-x86-dll.exe

從 Anatol 建議的來源下載相應的 .zip(感謝 Anatol!)

ImageMagick-6.8.9-1-vc11-x86:

在我的情況下,解壓到一個臨時文件夾並復制 Imagemagick 安裝(c:\\imagemagick)中“bin”文件夾的內容覆蓋文件。

下載.dll並將其放在 php extensions 文件夾中(我使用了這個)

Imagick for PHP 5.5.x 非線程安全來自: http ://www.peewit.fr/imagick/

使用以下命令將擴展添加到 php.ini:

extension=php_imagick.dll

保存 php.ini 並重啟 IIS

最后在 phpinfo() 中顯示了 Image Magick 信息; 稱呼。

想到要解決從 3 個不同位置下載文件所需的這個問題,真是令人難以置信。

希望能幫助到你。

這是我為使其工作所做的工作注意:真正讓我感到困惑但並沒有真正解釋的步驟是 php_imagick.dll 版本應該與您安裝的 imagick 相匹配

好的,我采取的步驟是從http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/下載 php imagick dll(我使用了 php_imagick-3.1.2-5.5-ts-vc11-x86。壓縮)

zip 文件將包含許多 dll,請記住這一點,我們將來可能需要它。 將 php_imagick.dll 解壓到您的擴展文件夾

把它放在擴展文件夾中

在 php.ini 添加擴展名 = php_imagick.dll

現在的問題是我們需要找出 php_imagick.dll 是為 Open 命令提示符編譯的 imagick 版本,然后輸入 php -e -v 我這樣做的方法是使用您之前下載的 zip,將其他 DLL 解壓縮到您的php 文件夾中可能會彈出一條錯誤消息,說明有關缺少 dll 的信息。 因此,將之前 zip 文件夾中的 DLL 提取到您的 PHP 文件夾中。 再次嘗試運行 php -e -v ,它應該可以正常工作,沒有錯誤消息。 如果是這種情況,則重新啟動 apache。 現在查看 phpinfo() 並轉到 imagick 部分。 它會說 ImageMagick 版本:我說 ImageMagick 6.8.6-8 這是他們網站上的舊版本。 問題是 ImageMagick 支持格式的數量:可能會說為零。

這里下載匹配的版本並安裝(安裝時確保選中添加到路徑變量的復選框)

安裝完成后停止 apache。 從之前放入的 php 文件夾中刪除 DLLS,然后再次啟動 apache。 檢查重新啟動apache,它應該一切正常。

應該使用的 ImageMagic 發行版來自http://windows.php.net/downloads/pecl/deps/ ImageMagic 二進制文件需要使用與 PHP 擴展相同的 CRT 構建。

請參閱安裝 imagick-php-7以使用 php 7.0 + 在 Windows 上安裝 imagick php 擴展。 到目前為止,這只是我找到的真正解決方案。 它非常詳細。

更新:21.08.2017

我使用 php 7 和 IIS(Apache 非常相似)使用 ImageMagick:Imagick版本。 3.4.3

PHP 7 nts x86、Windows Server 2012 x64、IIS 8.5

1) 安裝 VC++ 2015 https://www.microsoft.com/en-US/download/details.aspx?id=48145

2)得到php_imagick.dllhttps://pecl.php.net/package/imagick

3) 放入 php/ext/ 文件夾,將extension=php_imagick.dll添加到php.ini

注意力! 最低版本支持 PHP >= 5.4.0 和 ImageMagick >= 6.5.3-10。

目前不支持 ImageMagick 7。

查看phpinfo:

在此處輸入圖片說明

您必須安裝 ImageMagick 6.9.3-7 Q16 x86 4) 從http://ftp.icm.edu.pl/packages/ImageMagick/binaries/安裝ImageMagick 6.9.3-7 Q16 x86 dll不要取消選中“將變量添加到路徑”。

5)重啟服務器

就這樣

它按以下步驟工作。

php 5.5 32bit ts + apache 2.4 + windows 10 64bit + Imagick 6.9.3-5 + php_imagick.dll ts

檢查您的系統位的位。

http://windows.php.net/downloads/pecl/releases/imagick/選擇一個php_imagick.dll版本

.zip文件中找到php_imagick.dll

如果你不知道如何選擇。

在命令行窗口輸入php -v獲取 php 版本

運行以下代碼顯示您安裝了哪種類型的 php, thread safe non thread safe單擊此處將為您提供幫助。

在 Windows 上: php -i|find "Thread"

在 Linux 上: php -i|grep Thread

或者您可以運行函數phpinfo()並在網頁上搜索"Thread"

您將看到Thread Safety enabled Thread Safety disabledThread Safety disabled

@embe 已經寫出了其他步驟。

現在對於文檔沒有提到的內容:在您的環境中設置 MAGICK_HOME 值。 ImageMagick 需要這個變量,所以它知道在哪里可以找到所有相關的編碼器。

打開控制面板,然后搜索“PATH”。 在結果中,選擇“編輯系統環境變量”。 選擇“環境變量...”選項,然后添加一個新的“系統變量”(下方列表)。 如果您選擇了不同的安裝路徑,請確保將 C:\\img 替換為您自己的路徑。

變量:MAGICK_HOME

值:C:\\img\\modules\\coders

查看更多

解決了!

在遇到同樣的問題和一些谷歌搜索之后,我找到了 Windows 的解決方案,它似乎也適用於每個版本。

在我的情況下,PHP 安裝在 c:\\php,我的擴展目錄在 c:\\php\\ext。

  1. 將“php_imagick*”復制到c:\\php\\ext
  2. 將“CORE_RL_*”、“FILTER_*”、“IM_MOD_*”復制到c:\\php
  3. 將“extension=imagick”添加到 php.ini

重啟 apache 就完成了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM