Reputation: 18606
I have the following script to take an uploaded PDF in PHP and call ImageMagik/Ghostscript to convert to images of specified size.
$tmp = exec("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"", $results);
However, this doesnt seem to work. No errors in the log file and no errors on screen. If I do the following,
$tmp = exec("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"", $results);
echo ("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"");
And I paste the output into a command prompt it works fine (It takes around 6-10 seconds - My max_execution_time is at 600.
Any suggestions on why this might not be working?
This is Windows, IIS 7 and PHP5.
Edit: I'm having the same issue in both CentOS and Windows. Both have ImageMagik and Ghostscript installed.
Edit Edit the below still fails.
$handle = popen("convert \"{$strPDF}\" -resize 500X500 \"{$strOut}\"","r");
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
Upvotes: 3
Views: 19363
Reputation: 101
Try adding 2>&1 to the end of your command. I found it here.
exec('some_command 2>&1', $output);
print_r($output); // to see the respond to your command
Upvotes: 10
Reputation: 11306
Could it be an issue with your PATH variable ?
You might want to try and run
<?php
echo exec('cmd.exe /c echo %path%');
?>
both in the command line and from IIS and compare their outputs.
Upvotes: 1