欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php ImageMagick windows下安装教程

程序员文章站 2023-01-29 22:17:19
1、下载imagemagick 打开 下载最新的版本,目前的版本是 imagemagick-6.5.4-2-q16-windows-dll.exe 现在的静态版本能够很...

1、下载imagemagick

打开 下载最新的版本,目前的版本是 imagemagick-6.5.4-2-q16-windows-dll.exe

现在的静态版本能够很好的在各个平台上运行,但是他们却很难懂,因此您应该下载一个动态的版本。如果你的系统/电脑支持16位色,那么你应该使用q16版本(还有一个是8位的版本),这两者的区别我们将会在下面解释。

对我自己来说,最近的一个版本在我的电脑上不能够很好的运行,所以我使用一些老版本,imagemagick-6.4.2-7-q16-windows-dll这个版本适合我。我的电脑是windows xp sp2, 32 bit, intel centrino 1.76ghz,本你能够从这里下载这些老版本。

我在这里建议你使用最新的版本,按照下面的步骤操作,如果不能正常使用,那么再换回老版本。

2、安装install imagemagick

安装im在下面的目录

复制代码 代码如下:

c:\imagemagick\

中间没有空格。不要安装到 c:\program files\etc

千万不要忘记点击"add to system path" 按钮,其他的选择按钮你不用管。

3、测试安装是否成功

打开命令行 (运行->"cmd"->回车),输入 convert 后按回车。你应该能够看见帮助内容,如果是这样的那么你直接到第四步去。

如果提示"convert不是内部或外部命令,也不是可运行的程序或批处理文件”或者提示“请输入转换的盘符”(convert是一个默认的将fat32转换到ntfs的系统命令)那么你需要自己将imagemagick的安装路径添加到系统路径。

我的电脑 -> 单击右键 -> 属性 -> 高级 -> 环境变量 -> 系统变量 -> 找到 "path" -> 选中并点击进行编辑 -> 把你的安装路径添加进去。

4、下载 php_imagick.dll

由于版本的问题, 如果你使用 php 5.2.x 在请这里 下载dll。dyn = dynamic(动态), st = static(静态), q16 = 16 bit(16位), q8= 8 bit(8位)。当然这应该和你下载的版本想匹配,如果你下载的是q16动态库,你的对应的文件就是php_imagick_dyn-q16.dll

如果你在使用 php 5.3.x, 这个去下载你所需要的版本 。

5、安放 dll 到你的扩展文件夹

为了方便使用,重命名你下载的dll文件为 php_imagick.dll 并安放到你的扩展文件夹,通常情况下是:

复制代码 代码如下:

php/ext/

如果不是的,那么你可以在你的php.ini文件中找到相应的扩展目录。

复制代码 代码如下:

 directory in which the loadable extensions (modules) reside.extension_dir = "something something"

6、编辑 php.ini

如果存在下面这句话就直接去掉注释要是不存在则自己添加下面这句话

复制代码 代码如下:
 
extension=php_imagick.dll

7、重启

非常重要的一步,我花了大约一个小时的时间去搞定它,但是。。。你需要重启你的电脑以生效。

如果你不重启你的电脑而只是重启你的apache那么你将会看见不能加载这个模块的错误,因此请千万要重启电脑。

复制代码 代码如下:

unable to find core_rl_wand.dll something something.

8、启动apache并检查相应的设置

启动apache,检查phpinfo() ,如果你看见 imagick 库和是所设定的相应的值那么直接去第九步。

如果你安装后不能正常使用,那么你可以先换几个dll试试,要还是不行,可以换个老版本的imagemagick试试,总之别灰心。

9、测试看看

放一张图片到和test.php脚本相同的目录并命名为a.jpg,运行脚本,如果能够看到a_thumnail.jpg这张图片那么就ok了。下面是脚本

复制代码 代码如下:

<?
$im = new imagick( 'a.jpg' );
// resize by 200 width and keep the ratio
$im->thumbnailimage( 200, 0);
// write to disk
$im->writeimage( 'a_thumbnail.jpg' );
?>