Heim php教程 php手册 Windows下编译 ImageMagick 的php API

Windows下编译 ImageMagick 的php API

Jun 06, 2016 pm 08:02 PM
api imagemagick php windows 编译

首先,需要的软件包有: PHP5.2.5 源码包[http://www.php.net/downloads.php] bindlib_w32 [http://www.php.net/extra/bindlib_w32.zip] win32build [http://www.php.net/extra/win32build.zip] PHP5.2.5 Win32 二进制包 [http://www.php.net/downloads.php]

首先,需要的软件包有:
PHP5.2.5 源码包[http://www.php.net/downloads.php ]
bindlib_w32 [http://www.php.net/extra/bindlib_w32.zip ]
win32build [http://www.php.net/extra/win32build.zip ]
PHP5.2.5 Win32 二进制包 [http://www.php.net/downloads.php ]
ImageMagick 6.3.8-0 Windows版源码 [http://www.imagemagick.org/download/windows/ ]
Imagick 2.1.0RC3 源码包 [http://pecl.php.net/package/imagick ]
MagickWandForPHP 1.0.6 源码包 [http://www.imagemagick.org/download/php/ ]

说明一下:
php源码包就不用说了,编译需要php的源码的。
bindlib_w32 是为了编译一个resolv.lib
win32build是php编译最基本的一些lib文件和include文件。
php的二进制包是因为需要/dev/php5ts.lib文件,当然,你可以选择自己编译生成,但你的工作量将因此增加很多倍。
ImageMagick的windows源码是用来编译windows下的lib文件,同时,编译MagickWand和Imagick都还需要部分源 码。
Imagick是PHP官方提供的一个ImageMagick的扩展,而MagickWandForPHP 则是ImageMagick官方提供的。

此外,还需要一些环境:

Microsoft Visual Studio 6, Cygwin


ok,现在开始。



       建立一个目录 E:/develop,然后分别建立两个子目录,ImageMagick,PHPBuild。将ImageMagick源码直接解压到 ImageMagick目录下;将php5.2.5的源码解压到PHPBuild目录,同时,将bindlib_w32解压到 PHPBuild/bindlib_w32下,win32build 解压到 PHPBuild/win32build 下。


       首先进入ImageMagick/ImageMagick-6.3.8/VisualMagick/configure,用VC6打开 configure.dsw,编译,这样就可以把ImageMagick的编译配置文件生成。生成之后,运行当前目录的configure.exe,第二 页选择Static Multi-threaded DLL runtimes (VisualStaticMTDLL).,Build Options什么都不选。Edit ‘magick-config.h’的根据自己的情况来定。直接下一步,下一步,完成,稍等一会儿,ImageMagick/ImageMagick- 6.3.8/VisualMagick就会生成一个VisualStaticMTDLL.dsw.


        用VC6打开,Build ==> Set Active Configuration…,打开,选择All Release。然后,直接BuildèRebuild All。这个编译的过程耗时较长,所以可以考虑安装官方说明文档的说法,冲杯咖啡,慢慢等。

        编译完成之后,在ImageMagick/ImageMagick-6.3.8/VisualMagick/lib下会有17个以CORE_RL_ 开头的Lib文件,和两个原来就有的X11.lib和Xext.lib。

       将ImageMagick/ImageMagick-6.3.8/和ImageMagick/ImageMagick-6.3.8/magick加入VC 的Include目录里边,将ImageMagick/ImageMagick-6.3.8/VisualMagick/lib加入Lib的目录里。

       接下来,进入PHPBuild/bindlib_w32,用vc打开bindlib.dsw,release编译,将生成的resolv.lib覆盖 PHPBuild/win32build/lib下的同名文件。

解压PHP的二进制版本,并将目录添加到系统环境变量的Path里。
运行Cygwin,进入PHPBuild/php-5.2.5/ext,执行



这样,ext目录下就会生成两个新的目 录,imagick和magickwand,将之前下载的两个扩展的源码分别直接解压覆盖两个目录的同名文件。并将php二进制包的 dev/php5ts.lib分别复制到两个目录中。

       下面就得改dsp文件了。将这些替换原有dsp的相应内容。
magickwand.dsp:

 

 

 

imagick.dsp

因为我只需要Release的dll,所以 Debug部分我没改。(这些内容,参考DIrk的Magickwand的编译以及他提供的dsp文件)

用VC6打开,选择release模式,编译。
成功后将会在PHPBuild/php-5.2.5/Release_TS下生成php_magickwand.dll 和 php_imagick.dll。编译过程就结束了。


PS:
我生成的php_imagick.dll和php_magickwand.dll




UPDATE:

嗯,关于安装,不得不说的
ImageMagick/ImageMagick-6.3.8/config
这个目录是ImageMagick的配置文件
php方面的安装,只要把dll复制到php的ext目录,再修改php.ini,加上extension=php_imagick.dll或 extension=php_magickwand.dll

而配置文件部分
我是将这个config目录复制到了php的二进制文件夹的extra目录,改名为imagemagick_config,主要是方便管理和方便辨识
然后添加一个系统环境变量MAGICK_HOME,指到这个目录即可

 

原文:http://www.bitnp.net/viewthread.php?tid=282291

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein? Mar 05, 2025 pm 05:57 PM

Detaillierte Erläuterungs- und Installationshandbuch für Pinetwork -Knoten In diesem Artikel wird das Pinetwork -Ökosystem im Detail vorgestellt - PI -Knoten, eine Schlüsselrolle im Pinetwork -Ökosystem und vollständige Schritte für die Installation und Konfiguration. Nach dem Start des Pinetwork -Blockchain -Testnetzes sind PI -Knoten zu einem wichtigen Bestandteil vieler Pioniere geworden, die aktiv an den Tests teilnehmen und sich auf die bevorstehende Hauptnetzwerkveröffentlichung vorbereiten. Wenn Sie Pinetwork noch nicht kennen, wenden Sie sich bitte an was Picoin ist? Was ist der Preis für die Auflistung? PI -Nutzung, Bergbau und Sicherheitsanalyse. Was ist Pinetwork? Das Pinetwork -Projekt begann 2019 und besitzt seine exklusive Kryptowährung PI -Münze. Das Projekt zielt darauf ab, eine zu erstellen, an der jeder teilnehmen kann

Der neueste Version von Gate.io Der neueste Version von Gate.io Mar 05, 2025 pm 07:51 PM

Müssen Sie die App Gate.io herunterladen, um Ihre Kryptowährungsreise zu beginnen? In diesem Handbuch werden die neuesten Versionsschritte für iOS-, Android- und Windows -Geräte heruntergeladen. Besuchen Sie einfach die offizielle Website, suchen Sie den Download -Link und wählen Sie die entsprechende Option basierend auf Ihrem Gerät aus. Für iOS geht es direkt zum App Store, während Android- und Windows -Benutzer die apk oder das Installationsprogramm für die manuelle Installation herunterladen. Nach der Installation können Sie die App starten und Ihr Konto einrichten, um in die Welt der Kryptowährung einzutreten.

Wie löste ich das Problem der Schnittstelle zwischen Drittanbietern in der Node.js-Umgebung 403? Wie löste ich das Problem der Schnittstelle zwischen Drittanbietern in der Node.js-Umgebung 403? Mar 31, 2025 pm 11:27 PM

Lösen Sie das Problem der Schnittstelle zwischen Drittanbietern, die 403 in der Node.js-Umgebung zurückgeben. Wenn wir Node.js verwenden, um Schnittstellen von Drittanbietern aufzurufen, begegnen wir manchmal einen Fehler von 403 von der Schnittstelle, die 403 zurückgibt ...

Welche Art von Festplattenanschauungssoftware wird für Bitcoin verwendet Welche Art von Festplattenanschauungssoftware wird für Bitcoin verwendet Mar 17, 2025 pm 04:27 PM

Die Auswahl der richtigen Bitcoin -Marktbeobachtungssoftware ist von entscheidender Bedeutung. Sie kann den Anlegern helfen, Marktbedingungen in Echtzeit zu erfassen und intelligenteren Investitionsentscheidungen zu treffen. In diesem Artikel wird Sie beantragt, wie Sie eine Auswahl treffen und die Bewertung der persönlichen Bedürfnisse (Handelsfrequenz, Analysetiefe, Informationsbedürfnisse und Budget), Softwaretypauswahl (Exchange -Schnittstelle, professionelle Software, Marktwebsite/App), kernfunktionelle Überlegungen (Datenzuverlässigkeit, Diagramm -Tools, benutzerdefinierte Einstellungen, Community Communication und Platform -Kompatibilität) und Richtungsempfehlungen (Reifungs -Finanz -Plattform, Cryptocurity -Aggregation, Community -Empfehlungssoftware) abdecken. Schließlich wird empfohlen, ein paar weitere Software zu probieren und es zu vergleichen, um das Tool auszuwählen, das Ihren Anforderungen am besten entspricht. Bitte denken Sie daran, dass Software nur ein Hilfstool ist, und Sie müssen vorsichtig sein, wenn Sie auf eigenes Risiko investieren.

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

So laden Sie die OKX -Handelsplattform herunter So laden Sie die OKX -Handelsplattform herunter Mar 26, 2025 pm 05:18 PM

Die OKX -Handelsplattform kann über mobile Geräte (Android und iOS) und Computer (Windows und MacOS) heruntergeladen werden. 1. Android -Benutzer können es von der offiziellen Website oder Google Play herunterladen und müssen auf Sicherheitseinstellungen achten. 2. iOS -Benutzer können es über den App Store herunterladen oder die offizielle Ankündigung befolgen, um andere Methoden zu erhalten. 3. Computerbenutzer können den Client des entsprechenden Systems von der offiziellen Website herunterladen. Stellen Sie beim Herunterladen und Registrieren, Anmelden und Sicherheitseinstellungen nach der Installation immer sicher, dass Sie offizielle Kanäle verwenden.

Sozugreifen Sie auf Deepseekapi - Deepseekapi Access Tutorial Tutorial Sozugreifen Sie auf Deepseekapi - Deepseekapi Access Tutorial Tutorial Mar 12, 2025 pm 12:24 PM

Detaillierte Erläuterung von Deepseekapi -Zugriff und -anruf: Quick Start Guide In diesem Artikel können Sie ausführlich auf Deepseekapi zugreifen und anrufen und Ihnen helfen, leistungsstarke KI -Modelle problemlos zu verwenden. Schritt 1: Holen Sie sich den API -Schlüssel, um auf die offizielle Website von Deepseek zuzugreifen, und klicken Sie in der oberen rechten Ecke auf die "Plattform". Sie erhalten eine bestimmte Anzahl freier Token (zur Messung der API -Verwendung verwendet). Klicken Sie im Menü links auf "Apikeys" und dann auf "Apikey erstellen". Nennen Sie Ihren Apikey (z. B. "Test") und kopieren Sie den generierten Schlüssel sofort. Stellen Sie sicher, dass Sie diesen Schlüssel richtig speichern, da er nur einmal angezeigt wird

Was sollte ich tun, wenn Beyond Compare bei der Synchronisierung von Windows- und Linux -Dateien nicht die Sensibilität des Falls nicht in die Fall ist? Was sollte ich tun, wenn Beyond Compare bei der Synchronisierung von Windows- und Linux -Dateien nicht die Sensibilität des Falls nicht in die Fall ist? Apr 01, 2025 am 08:06 AM

Das Problem des Vergleichs und Synchronisierens von Dateien überkompeten: Fallempfindlichkeitsfehler bei der Verwendung von Beyond ...

See all articles