无法从php exec创建简单图像,可以使用与独立命令相同的命令创建

时间:2010-11-30 14:21:31

标签: php linux imagemagick

我在CentOS 5.5,PHP 5.1.6,Apache / 2.2.3,ImageMagick 6.2.8中运行此代码

$convert = "/usr/bin/convert";
$command = "$convert -size 100x100 xc:blue mytest.jpg";
$test_image = exec($command);
echo "<img src=\"mytest.jpg\">";

当我运行php测试程序时,我没有创建图像,只有回显字符串打印在页面上作为html 但是当我运行与onliner相同的命令时,图像确实创建得很好。

/usr/bin/convert -size 100x100 xc:blue mytest.jpg

这里有什么不对,我说不出来。

2 个答案:

答案 0 :(得分:1)

您的PHP假定Web服务器具有执行程序和写入当前目录的权限。您应该使用popen()将图像发送到stdout,并使用data: scheme将图像数据嵌入到HTML中,或者将PHP脚本作为src用于img标记并输出相应的标题,然后输出图像数据。

答案 1 :(得分:0)

用户PHP是否有权这样做?