imagick 崩溃与 PHP 5.3
Posted
技术标签:
【中文标题】imagick 崩溃与 PHP 5.3【英文标题】:imagick crash with PHP 5.3 【发布时间】:2011-12-22 18:45:33 【问题描述】:我收到此错误:
在加载页面时重置了与服务器的连接。
这仅在我尝试使用 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 崩溃了。
对这个问题有任何想法吗?
【问题讨论】:
你的日志有没有提供线索? Imagick 很难在 32/64 Windows 上工作。 5.3+几乎不可能工作。 Imagick 正是我从 Windows 转向开发的原因。这和一个仅在 Windows 中发生的可笑的 DateTime 错误。 您从哪里获得 php_imagick_ts.dll 文件?它是否与 VertrigoServ 一起提供? 没有。从valokuva.org/builds 下载并复制到 ext 文件夹。 @Layke,我认为您需要类似date_default_timezone_set('Europe/Lisbon'); $tz = date_default_timezone_get();
这些是 VC9 版本。您还需要验证您的 PHP 二进制文件是否为 VC9。好老的phpinfo() 就足够了。
【参考方案1】:
有类似问题:Imagick constructor crashes PHP/CGI
我今天也遇到了同样的问题。您必须安装不高于 6.6.4.0 的 Image Magick 版本 - 下一个版本是使用 VC10 制作的,这似乎与 Apache VC9 + PHP5.3.x VC9 不兼容。
对此有一些cmets:http://valokuva.org/?p=161#comment-20707
您可以在此处获取 Image Magick 的旧版本:http://image_magick.veidrodis.com/image_magick/binaries/
并且记得在安装 Image Magick 后重启 windows
【讨论】:
+1 这在带有 xampp 的 Windows 7 上对我有用:image_magick.veidrodis.com/image_magick/binaries/… 和 valokuva.org/builds/ext/vc9/ts/imagick/2011-04-25_1849/…(将其重命名为 php_imagick.dll 并将其添加到 /xampp/php/ext) 提供的旧版本链接不再存在。有人帮忙吗?我不知道在哪里可以找到 在那里找到了一些东西:mirror.imagemagick.org/pub/ImageMagick/legacy 试一试,告诉我们它是否有效 如果您正在寻找旧版本的镜像,这里有一个:ftp.sunet.se/pub/multimedia/graphics/ImageMagick/binaries【参考方案2】:如果使用 PHP "new Imagick("$imagebath")",我刚刚在我的新服务器中遇到了同样的错误
解决方法是:
set "php.ini" "memory_limit = 256M"(或者更多,原来是128,不够用),错误日志:“Out of memory in UB xxx: OOM kill process x (httpd)...” 所以请求已重置到浏览器。
【讨论】:
【参考方案3】:在 PHP 5 中,该文件必须是 php5.ini 在 php5.ini 中添加这些行
post_max_size = 48M
file_uploads = On
upload_max_filesize = 192M
您可以将尺寸设置为您想要的任何尺寸。
【讨论】:
以上是关于imagick 崩溃与 PHP 5.3的主要内容,如果未能解决你的问题,请参考以下文章
WP_Image_Editor_Imagick 漏洞临时解决方法