有什么理由不大量使用PHP的exec()?

时间:2011-01-12 12:05:48

标签: php command-line imagemagick gd exec

如果我控制服务器环境并过滤掉有害注入,我不应该在PHP中执行任何原因('mkdir'。$ perm。''。$ name)?

而不是使用php GD,我可以不使用exec('mogrify -resize'。$ width。''。$ myfile)?

对于几乎任何其他文件系统/文件操作操作,我是否可以不通过exec使用命令行并解析结果?我是n00b吗?

我必须写一些缩略图/调整大小的逻辑(再次!!!!),如果我看到一个,我很乐意采取快捷方式 - 提供它不是鼠标陷阱......

2 个答案:

答案 0 :(得分:4)

嗯,反对这一点的一个重要论点是你使脚本更依赖于底层系统。将它移植到没有ImageMagick的另一台服务器,或者在命令行命令看起来不同的Windows上运行它并不容易。

除此之外,我认为它没有任何根本性的错误。如果IM可用,我很乐意将其用于调整大小操作。

请注意,PHP extension还有一个IM界面。

答案 1 :(得分:1)

在UNIX上,exec()将创建启动进程的分支,例如apache,这是一个代价高昂的操作系统操作。