2013-05-07 72 views
4

我上傳了一個gif到我的網站。被上傳完成後,我可以看到這個錯誤:警告:出於安全考慮,`exec()`已被禁用

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

這些錯誤的含義就是他們所說的。

Fatal error: Call to undefined function execute() 

您正在調用一個不存在的函數。

Warning: exec() has been disabled for security reasons 

您的虛擬主機已禁用exec()方法,你將無法運行後臺腳本(如您似乎在試圖做)。你需要找到另一種方式來實現你的目標,或找到另一個網絡主機。

+0

哦:-(感謝您的幫助,我正在尋找新的主機:) – 2013-05-07 14:40:22

+1

共享主機上幾乎總是禁用'exec',因爲這個功能太危險了。 – Jocelyn 2013-05-07 14:47:15

6

正如其他信息:

有一個叫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

+0

其他執行正在工作......只有在這段代碼中,執行不起作用......對不起,我的英文不好:) – 2013-05-07 14:49:09

+0

就像我說的,這是因爲這個功能已被託管提供商禁用,並且在共享託管域很難找到允許執行的提供者。如果你找到某人,要非常謹慎,因爲它不會是一個非常安全或安全的服務器恕我直言。 – raidenace 2013-05-07 14:50:27

相關問題