HOME       >>       Programming

Imagemagick And Php, Help


I am running a PHP based web site and have just moved to a Windows server

I can't get Imagemagick to work in PHP.

It works from the command line.


I don't have access to the server other than a simple control panel but I can pass info onto the administrator (who also happens to be my buddy)


running the test page gives me this


Warning: exec() [function.exec]: Unable to fork [convert -version] in D:\home\Customers\virtuallyinsane.com\htdocs\test\test.php on line 11

Version return code is -1


test being


<html> <head> <title>Test for ImageMagick</title> </head><body> <br /><b>Warning</b>: exec() [<a href='function.exec'>function.exec</a>]: Unable to fork [convert -version] in <b>D:\home\Customers\virtuallyinsane.com\htdocs\test\test.php</b> on line <b>11</b><br />Version return code is -1 <br><ul></ul> </body> </html>

The web based php script has a page to put the path in for Imagemagick but when I do it can't find it, it tell me the path isn't valid (my admin says I shouldn't need the path anyway as it should work from anywhere)


Any help appreciated


malum,You first posted this topic in the "tutorial" forum.Your post is not really a tutorial, looks more like a call for help. :rolleyes:That's why I moved your topic here, where it should most probably have an answer.By the way, I hate this "cannot fork", looks like a memory access or number of process problem.Are you sure that your program should run from the command line ? What happens if you try to run it in a window ?


Here is a test of ImageMagick with more output details:

<html> <head> <title>Test for ImageMagick</title> </head><body> <?function alist ($array) { //This function prints a text array as an html list. $alist = "<ul>"; for ($i = 0; $i < sizeof($array); $i++) { $alist .= "<li>$array[$i]"; } $alist .= "</ul>"; return $alist;}exec("convert -version", $out, $rcode); //Try to get ImageMagick "convert" program version output.echo "Version return code is $rcode <br>"; //Print the return code: 0 if OK, nonzero if error.echo alist($out); //Print the output of "convert -version"?> </body> </html>
It defines a php function "alist" that parses the output of the "version" query and formats it so that a browser can display it.

Copy and paste this code into a .php file and upload it to somewhere that it can be accessed by your (PHP-supporting) web server. Then load it into a browser. It should tell you just about everything that ImageMagick knows about its environment.

I put a tutorial up on it a while ago: How To Find And Test Imagemagick Using Php. If that doesn't help enough, take a look at Basic Usage on the ImageMagick website. By the way, when you do your command-line check, note whether the version number is above or below 5.5.7. There was a significant change in the way it processes arguments at that point.

Hope this helps!


Xisto.com offers Free Web Hosting to its Members for their participation in this Community. We moderate all content posted here but we cannot warrant full correctness of all content. While using this site, you agree to have read and accepted our terms of use, cookie and privacy policy. Copyright 2001-2019 by Xisto Corporation. All Rights Reserved.