加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – ImageMagick安装MediaTemple GridServer

发布时间:2020-12-13 18:28:56 所属栏目:PHP教程 来源:网络整理
导读:我按照 KnowledgeBase article激活了ImageMagick扩展 基本上,将此行添加到php.ini: open_basedir = /nfs:/tmp:/usr/local:/etc/apache2/gs-bin:/usr/bin/convert 但是,这似乎不起作用. 这个脚本输出版本号就好了: $IM_version=shell_exec("/usr/bin/conver
我按照 KnowledgeBase article激活了ImageMagick扩展

基本上,将此行添加到php.ini:

open_basedir = /nfs:/tmp:/usr/local:/etc/apache2/gs-bin:/usr/bin/convert

但是,这似乎不起作用.
这个脚本输出版本号就好了:

$IM_version=shell_exec("/usr/bin/convert -version");
echo $IM_version;

但是,当我尝试使用Imagick类时,我收到错误.

try
{
        /*** a new imagick object ***/
        $im = new Imagick();

        /*** Create a red rectangle  ***/
        $im->newImage( 200,100,"red","png" );

        /*** write image to disk ***/
        $im->writeImage( '/tmp/rectangle.png' );

        echo 'Image Created';
}
catch(Exception $e)
{
        echo $e->getMessage();
}

错误:

Fatal error: Class 'Imagick' not found in /xxxxxxxxxxxxxxx/html/mt.php on line 8

任何想法我做错了什么或下一步的故障排除是什么?

我已经联系了MediaTemple支持,他们只是说“抱歉,但因为脚本输出的版本号证明它已安装”

好吧,我有这个工作,但它有点棘手.开始…

首先,您需要从源代码安装ImageMagick.如果您已经可以访问“MagickWand-config”,则此步骤可以是可选的,但它不在我的路径中.以下是我将其安装到(gs)上的备用目录中的步骤:

注意:截至本文,最新版本为6.8.9.3.

$wget http://www.imagemagick.org/download/ImageMagick-6.8.9-3.tar.gz
$tar xvfz ImageMagick-6.8.9-3.tar.gz
$cd ImageMagick-6.8.9-3
$mkdir /home/#####/etc/imagemagick
$./configure --prefix=/home/#####/etc/imagemagick
$make
$make install

Imagick PHP类是PECL扩展,因此我们将使用Media Temple提供的KB进行一次更改.以下是步骤:

$export SITEID=`pwd | awk -F/ '{ print $3 }'`
$export PHPPATH=`php-stable -i | grep "Configure Command" | perl -pe "s/.*'./configure's*?'--prefix=(.*?)'.*/1/"`
$mkdir /home/$SITEID/data/lib
$mkdir /home/$SITEID/data/lib/php/
$wget http://pecl.php.net/get/imagick && tar zxvf imagick && cd imagick-* && $PHPPATH/bin/phpize

这是我们的脚本偏离指令的地方.我们需要指定ImageMagick安装的路径以使用’MagickWand-config’.如果未指定,则会看到以下错误:

checking ImageMagick MagickWand API configuration program…
configure: error: not found. Please provide a path to
MagickWand-config or Wand-config program.

如果您已使用备用位置进行ImageMagick的源安装,请将该路径替换为“–with-imagick”的路径.

$./configure --with-php-config=$PHPPATH/bin/php-config --with-imagick=/home/#####/etc/imagemagick

恢复正常说明:

$make && cp modules/*.so /home/$SITEID/data/lib/php

更新您的php.ini文件,该文件应位于/home/#####/etc/php.ini并添加以下两行:

extension_dir=/home/#####/data/lib/php/

extension = imagick.so

完成后,这是我运行的脚本:

<?php

$IM_version=shell_exec("/usr/bin/convert -version");
echo $IM_version;

if (!extension_loaded('imagick'))
{
    echo "imagick not installedn";
}
else
{
    echo "imagick installedn";
}


try
{
        /*** a new imagick object ***/
        $im = new Imagick();

        /*** Create a red rectangle  ***/
        $im->newImage( 200,"png" );

        /*** write image to disk ***/
        $im->writeImage( '/tmp/rectangle.png' );

        echo 'Image Created';
}
catch(Exception $e)
{
        echo $e->getMessage();
}

输出:

Version: ImageMagick 6.6.0-4 2012-05-03 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP 

imagick installed
Image Created

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读