警告:出于安全原因,已禁用`exec()`

时间:2013-05-07 14:33:45

标签: php fatal-error

我将gif上传到我的网站。上传完成后,我可以看到此错误:

Warning: exec() has been disabled for security reasons in /data/web/virtuals/28995/virtual/www/include/functions/main.php on line 306

Fatal error: Call to undefined function execute() in /data/web/virtuals/28995/virtual/www/include/functions/main.php on line 309

这是main.php的一部分

$owh = $width_old."x".$height_old;
$nwh = $final_width."x".$final_height;
if(!file_exists($temppic))
{
    $runinbg = "convert ".$file." -coalesce ".$temppic;
    $runconvert = execute("$runinbg");
}
$runinbg = "convert -size ".$owh." ".$temppic." -resize ".$nwh." ".$output;
$runconvert = execute("$runinbg");
return true;

谢谢你的帮助! : - )

2 个答案:

答案 0 :(得分:10)

正如其他信息:

有一个名为disable_functions的php.ini指令。添加到此列表的函数将被PHP禁用,当您尝试执行这些函数时,会出现此错误。如上所述,您的托管服务提供商很可能已将exec添加到已禁用的列表中。这是共享托管中的常见做法。如果您确实要运行exec(或某些提供pseudo-exec功能的托管服务提供商),则需要专用服务器。 It is a bad idea to trust a shared hosting provider who allows you to run exec unrestrained

答案 1 :(得分:3)

这些错误意味着他们所说的话。

Fatal error: Call to undefined function execute() 

您正在调用不存在的函数。

Warning: exec() has been disabled for security reasons

您的网络托管服务商已停用exec()方法,您将无法运行后台脚本(就像您尝试的那样)。您需要找到另一种方法来实现目标,或者找到另一个Web主机。