Windows下编译 ImageMagick 的php API
首先,需要的软件包有: 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

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? En programmation, nous rencontrons souvent le problème du retour des valeurs nulles lorsque l'API appelle, ce qui n'est pas seulement déroutant ...

La maîtrise de la surveillance du journal du système Debian est la clé d'un fonctionnement et d'une maintenance efficaces. Il peut vous aider à comprendre les conditions de fonctionnement du système en temps opportun, à localiser rapidement les défauts et à optimiser les performances du système. Cet article présentera plusieurs méthodes et outils de surveillance couramment utilisés. Surveillance des ressources système avec la boîte à outils Sysstat La boîte à outils Sysstat fournit une série d'outils de ligne de commande puissants pour collecter, analyser et signaler diverses mesures de ressources système, y compris la charge du processeur, l'utilisation de la mémoire, les E / S de disque, le débit de réseau, etc. MPSTAT: Statistiques des processeurs multi-fond. pidsta

Lecture efficace des journaux du système Windows: Traversé réversement des fichiers EVTX Lors de l'utilisation de Python pour traiter les fichiers journaux système Windows (.EVTX), la lecture directe sera du premier ...

Le multithreading dans la langue peut considérablement améliorer l'efficacité du programme. Il existe quatre façons principales d'implémenter le multithreading dans le langage C: créer des processus indépendants: créer plusieurs processus en cours d'exécution indépendante, chaque processus a son propre espace mémoire. Pseudo-Multithreading: Créez plusieurs flux d'exécution dans un processus qui partagent le même espace mémoire et exécutent alternativement. Bibliothèque multi-thread: Utilisez des bibliothèques multi-threades telles que PTHEADS pour créer et gérer des threads, en fournissant des fonctions de fonctionnement de thread riches. Coroutine: une implémentation multi-thread légère qui divise les tâches en petites sous-tâches et les exécute tour à tour.

Choix de la bibliothèque de développement d'applications de bureau multiplateforme Python De nombreux développeurs Python souhaitent développer des applications de bureau pouvant s'exécuter sur Windows et Linux Systems ...
