Imagick在PHP 5.3中崩溃

11

我遇到了这个错误:

页面加载时服务器连接被重置。

只有在使用ImageMagick加载图片时才会出现此问题。

<?php 
header('Content-type: text/html');
$image = 'some_image.jpg';

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

/*** ping the image ***/
$im->pingImage($image);

/*** read the image into the object ***/
$im->readImage( $image );

/**** convert to png ***/
$im->setImageFormat( "png" );

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

echo 'Image Converted';  
?>



vertrigo serv
php 5.3.8
php_imagick_ts.dll

显然这里也有同样的问题:http://valokuva.org/?page_id=50

我可以加载它,phpinfo显示imagick信息,但尝试读取图像时Apache崩溃。

对于这个问题有什么想法吗?


2
Imagick在32/64位Windows上的安装非常麻烦。5.3+版本几乎无法正常工作。正是因为Imagick,我才从Windows转向开发。还有一个荒谬的DateTime错误只会在Windows上发生。 - Layke
你从哪里得到的 php_imagick_ts.dll 文件?它是随 VertrigoServ 一起提供的吗? - Álvaro González
你使用了哪个编译器来编译你的 Web 服务器?另一个建议是先在文件名上使用 realpath - hakre
我已经详细说明了正确的安装程序,详情请参见此答案 - Gras Double
显示剩余4条评论
3个回答

3

这个方法对我在Windows 7上使用XAMPP非常有效:http://image_magick.veidrodis.com/image_magick/binaries/ImageMagick-6.6.4-0-Q16-windows-dll.exe 和 http://valokuva.org/builds/ext/vc9/ts/imagick/2011-04-25_1849/php_imagick_ts.dll(将其重命名为php_imagick.dll并将其添加到/xampp/php/ext)。 - AlienWebguy
提供的链接到旧版本已经不存在了。有人可以帮忙吗?我不知道去哪里找。 - Loonb
在这里找到了一些东西:ftp://mirror.imagemagick.org/pub/ImageMagick/legacy/ 试试看,告诉我们是否有效。 - BartekR
如果您正在寻找旧版本的镜像,请访问以下链接:ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/binaries/ - Ryan Casas

1

我在我的新服务器上遇到了同样的错误,如果使用PHP的 "new Imagick("$imagebath")"。

解决方法是:

设置 "php.ini" "memory_limit = 256M"(或更多,原来是128,不够用),错误日志:"Out of memory in UB xxx: OOM killed process x (httpd)..." 所以请求被重置到浏览器。


0
在 PHP 5 中,文件必须是 php5.ini
在 php5.ini 中添加以下行:
post_max_size = 48M
file_uploads = On
upload_max_filesize = 192M

您可以将大小设置为任何您想要的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接