ubuntu下安装php imagick

ImageMagick安装与PHP扩展
本文档详细介绍了如何在Linux环境下安装ImageMagick软件及其依赖,并配置PHP的Imagick扩展,以便进行图片处理。包括下载、编译、安装依赖库及解决常见错误的方法。

1.安装ImageMagick客户端软件。

    A)下载:  sudo wget http://www.imagemagick.org/download/ImageMagick.tar.gz

    B)解压:  tar -xzvf ImageMagick.tar.gz

                   cd  ImageMagick-6.7.1-6

                   切换ROOT用户后,执行 ./configure -prefix=/usr/local/imagemagick -enable-lzw -with-modules && make && make install

    C)安装成功:check with    ->  /usr/local/imagemagick/bin/convert -version

    显示:

Version: ImageMagick 6.8.0-1 2012-10-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

 

将conver命令加入PATH中。sudo gedit /etc/environment。在PATH中加入: /usr/local/imagemagick/bin。再使用source /etc/environment使配置生效。

 

2.使用命令测试是否成功。convert -sample 25%x25% 1.jpg test.jpg ,生成缩略图。

如果报错:convert: no decode delegate for this image format......  则很有可能缺少ImageMagick依赖包。

 

可到http://www.imagemagick.org/download/delegates/ 找寻下载如下:


参考网站:http://blog.ericlamb.net/2008/11/fix-for-convert-no-decode-delegate-for-this-image-format/

依赖包开始-----------------------------------------------------------------------------------------------------


1.安装zlib
tar zxvf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure
make 
make install

2.安装libpng
tar zxvf libpng-1.4.4.tar.gz
cd libpng-1.4.4
cd scripts/
mv makefile.linux ../makefile
cd ..
make
make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个

3.安装freetype
tar zxvf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure
make
make install

4.安装Jpeg
tar zxvf jpegsrc.v8b.tar.gz 
cd jpeg-8b/
./configure --enable-shared
make
make test
make install
注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库

然后再重新安装编译ImageMagick即可。

依赖包结束-----------------------------------------------------------------------------------------------------

3.开始装imagick的PHP扩展(download from http://pecl.php.net/package/imagick)
下载:wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz

解压:tar zxvf imagick-3.1.0RC2.tgz

phpize:cd imagick-3.1.0RC2/
                phpize

Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

配置编译:./configure --with-php-config=/usr/bin/php-config --with-imagick=/usr/local/imagemagick
                    make&&make install

编译过程中,可能会遇到这样的问题。MagickWand.h: No such file or directory

首先确保pkg-config是已安装,如果未安装,安装。
然后是安装GTK。(sudo apt-get install libgtk2.0*)
安装完毕:export PKG_CONFIG_PATH=/usr/local/ImageMagick/lib/pkgconfig/
再重新安装imagick的php扩展。
参考:http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.html

4.编译成功后会在php 扩展目录生成imagick.so
我的路径是/usr/lib/php5/20090626+lfs/

然后再php.ini里面 加上

extension="imagick.so"

重启php phpinfo()看看

安装完成。。。。



 

### 如何在 PHP安装和配置 Imagick 扩展 #### 准备工作 为了成功安装并配置 PHPImagick 扩展,需要先确认服务器环境已满足基本条件。通常情况下,Linux 系统(如 CentOS 或 Ubuntu)是最常见的部署平台。 --- #### 安装 ImageMagick 软件包 Imagick 是基于 ImageMagick 库构建的一个 PHP 扩展,因此必须先安装 ImageMagick 及其开发库。以下是具体操作: 对于 **CentOS/RHEL** 系统: ```bash yum install ImageMagick ImageMagick-devel -y ``` 对于 **Ubuntu/Debian** 系统: ```bash apt-get update && apt-get install imagemagick libmagickwand-dev -y ``` 这一步确保了系统中有可用的 ImageMagick 工具及其头文件[^1]。 --- #### 编译安装 Imagick 扩展 完成 ImageMagick 的安装后,可以继续编译安装 PHPImagick 扩展。 1. 进入 PHP 的 `ext` 目录或下载最新的 PECL 版本: ```bash cd /usr/local/src/ wget http://pecl.php.net/get/imagick-3.7.0.tgz tar zxvf imagick-3.7.0.tgz cd imagick-3.7.0 ``` 2. 使用当前 PHP 的工具链准备扩展: ```bash /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install ``` 此过程会生成一个动态链接库文件(通常是 `.so` 文件),位于 `/usr/local/php/lib/php/extensions/no-debug-non-zts-.../` 目录下[^2]。 --- #### 配置 PHP 加载 Imagick 扩展 编辑 PHP 的配置文件 `php.ini`,添加以下内容以加载 Imagick 扩展: ```ini extension=imagick.so ``` 保存修改后重启 Web 服务使更改生效: ```bash systemctl restart php-fpm systemctl restart nginx # 如果使用 Nginx # 或者 systemctl restart apache2 # 如果使用 Apache ``` 可以通过运行以下命令验证扩展是否正常加载: ```bash php -m | grep imagick ``` 如果返回 `imagick` 则表示安装成功[^3]。 --- #### 常见问题排查 1. **PDF 支持缺失** 若计划处理 PDF 文档,则需额外安装 Ghostscript 并将其路径加入系统的 PATH 环境变量中。例如,在 Windows 上可按如下方式设置: 将 `C:\Program Files\gs\gs9.x.y\bin` 添加至 PATH,并重命名 `gswin64.exe` 为 `gs.exe`[^5]。 2. **版本兼容性** 不同版本的 PHP 对应不同的 Imagick 扩展版本,请根据实际使用的 PHP 版本来选择合适的 Imagick 发布版本。例如,PHP 7.4 推荐搭配较新的 Imagick 版本[^3]。 --- #### 测试 Imagick 功能 编写一段简单的测试脚本以验证功能是否正常: ```php <?php $im = new \Imagick(); $im->newPseudoImage(100, 100, 'gradient:red-blue'); header('Content-Type: image/png'); echo $im->getImageBlob(); ?> ``` 访问该页面时应该显示一张渐变颜色的图片[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值