検索
ホームページphp教程php手册Windows下编译 ImageMagick 的php API
Windows下编译 ImageMagick 的php APIJun 06, 2016 pm 08:02 PM
apiimagemagickphpwindowsコンパイル

首先,需要的软件包有: 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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
c盘的users是什么文件夹?可以删除吗?c盘的users是什么文件夹?可以删除吗?Nov 10, 2022 pm 06:20 PM

c盘的users是用户文件夹,主要存放用户的各项配置文件。users文件夹是windows系统的重要文件夹,不能随意删除;它保存了很多用户信息,一旦删除会造成数据丢失,严重的话会导致系统无法启动。

启动任务管理器的三个快捷键是什么启动任务管理器的三个快捷键是什么Sep 21, 2022 pm 02:47 PM

启动任务管理器的三个快捷键是:1、“Ctrl+Shift+Esc”,可直接打开任务管理器;2、“Ctrl+Alt+Delete”,会进入“安全选项”的锁定界面,选择“任务管理器”,即可以打开任务管理器;3、“Win+R”,会打开“运行”窗口,输入“taskmgr”命令,点击“确定”即可调出任务管理器。

微软的pin码是什么微软的pin码是什么Oct 14, 2022 pm 03:16 PM

PIN码是Windows系统为了方便用户本地登录而独立于window账户密码的快捷登录密码,是Windows系统新添加的一套本地密码策略;在用户登陆了Microsoft账户后就可以设置PIN来代替账户密码,不仅提高安全性,而且也可以让很多和账户相关的操作变得更加方便。PIN码只能通过本机登录,无法远程使用,所以不用担心PIN码被盗。

window下报错“php不是内部或外部命令”怎么解决window下报错“php不是内部或外部命令”怎么解决Mar 23, 2023 pm 02:11 PM

对于刚刚开始使用PHP的用户来说,如果在Windows操作系统中遇到了“php不是内部或外部命令”的问题,可能会感到困惑。这个错误通常是由于系统无法识别PHP的路径导致的。在本文中,我将为您提供一些可能会导致这个问题的原因和解决方法,以帮助您快速解决这个问题。

win10自带的onenote是啥版本win10自带的onenote是啥版本Sep 09, 2022 am 10:56 AM

win10自带的onenote是UWP版本;onenote是一套用于自由形式的信息获取以及多用户协作工具,而UWP版本是“Universal Windows Platform”的简称,表示windows通用应用平台,不是为特定的终端设计的,而是针对使用windows系统的各种平台。

win10为什么没有“扫雷”游戏了win10为什么没有“扫雷”游戏了Aug 17, 2022 pm 03:37 PM

因为win10系统是不自带扫雷游戏的,需要用户自行手动安装。安装步骤:1、点击打开“开始菜单”;2、在打开的菜单中,找到“Microsoft Store”应用商店,并点击进入;3、在应用商店主页的搜索框中,搜索“minesweeper”;4、在搜索结果中,点击选择需要下载的“扫雷”游戏;5、点击“获取”按钮,等待获取完毕后自动完成安装游戏即可。

在windows中鼠标指针呈四箭头时一般表示什么在windows中鼠标指针呈四箭头时一般表示什么Dec 17, 2020 am 11:39 AM

在windows中鼠标指针呈四箭头时一般表示选中对象可以上、下、左、右移动。在Windows中鼠标指针首次用不同的指针来表示不同的状态,如系统忙、移动中、拖放中;在Windows中使用的鼠标指针文件还被称为“光标文件”或“动态光标文件”。

windows操作系统的特点包括什么windows操作系统的特点包括什么Sep 28, 2020 pm 12:02 PM

windows操作系统的特点包括:1、图形界面;直观高效的面向对象的图形用户界面,易学易用。2、多任务;允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。3、即插即用。4、出色的多媒体功能。5、对内存的自动化管理。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません