imagick crash with PHP 5.3

2019-04-05 14:50发布

问题:

I'm getting this error:

The connection to the server was reset while the page was loading.

This only occurs when I try to load an image using 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

Apparently same problem here: http://valokuva.org/?page_id=50

I can get it loaded, phpinfo displays imagick information, but when trying to read an image Apache crashes.

Any idea about this problem?

回答1:

There is similar problem: Imagick constructor crashes PHP/CGI

I've had the same issue today. You have to install version of Image Magick no higher than 6.6.4.0 - next builds are made using VC10 which seems to be incompatible with Apache VC9 + PHP5.3.x VC9.

Some comments on this: http://valokuva.org/?p=161#comment-20707

You can get older releases of Image Magick here: http://image_magick.veidrodis.com/image_magick/binaries/

And remember to reboot windows after installing Image Magick



回答2:

I just got the same error in my new server, if using PHP "new Imagick("$imagebath")"

the fix is:

set "php.ini" "memory_limit = 256M" (or more, it was 128, it's not enough), error log: "Out of memory in UB xxx: OOM killed process x (httpd)..." So the request was reset to browser.



回答3:

In PHP 5 the file has to be php5.ini
Add these lines in php5.ini

post_max_size = 48M
file_uploads = On
upload_max_filesize = 192M

You can set the sizes to whatever you want.