我有這樣的功能和大部分的時間,當我運行該功能會出現以下錯誤:函數超過最大執行時間
Fatal error: Maximum execution time of 30 seconds exceeded
位置(線)的誤差總是不同。
這是函數:
function selectAdsY(){
//Put all the ads in the arrays.
global $ads;
global $adsX;
global $adsY;
global $Min;
global $ImpIfriends;
global $ImpLivejasmin;
global $ImpExo;
global $ImpND;
global $ImpAmazon;
// Change these
$ImpIfriends = 20;
$ImpLivejasmin = 10;
$ImpExo = 0;
$ImpND = 20;
$ImpAmazon = 20;
$i = 0;
//ifriends
global $ifriends;
global $ifriendsX;
global $ifriendsY;
$iframeCountFriends = count($ifriends) - 1;
$a = rand(0, $iframeCountFriends);
$ads[$i] = $ifriends[$a];
$adsX[$i] = $ifriendsX[$a];
$adsY[$i] = $ifriendsY[$a];
if($ImpIfriends != 0){
$Min[$i] = min($ifriendsY);
}
//livejasmin
global $livejasmin;
global $livejasminX;
global $livejasminY;
$iframeCountLivejasmin = count($livejasmin) - 1;
$a = rand(0, $iframeCountLivejasmin);
$i++;
$ads[$i] = $livejasmin[$a];
$adsX[$i] = $livejasminX[$a];
$adsY[$i] = $livejasminY[$a];
if($ImpLivejasmin != 0){
$Min[$i] = min($livejasminY);
}
//exo
global $exo;
global $exoX;
global $exoY;
$iframeCountExo = count($exo) - 1;
$a = rand(0, $iframeCountExo);
$i++;
$ads[$i] = $exo[$a];
$adsX[$i] = $exoX[$a];
$adsY[$i] = $exoY[$a];
if($ImpExo != 0){
$Min[$i] = min($exoY);
}
//nasty dollars
global $ND;
global $NDX;
global $NDY;
$iframeCountND = count($ND) - 1;
$a = rand(0, $iframeCountND);
$i++;
$ads[$i] = $ND[$a];
$adsX[$i] = $NDX[$a];
$adsY[$i] = $NDY[$a];
if($ImpND != 0){
$Min[$i] = min($NDY);
}
//amazon.com
global $amazon;
global $amazonX;
global $amazonY;
$iframeCountAmazon = count($amazon) - 1;
$a = rand(0, $iframeCountAmazon);
$i++;
$ads[$i] = $amazon[$a];
$adsX[$i] = $amazonX[$a];
$adsY[$i] = $amazonY[$a];
if($ImpAmazon != 0){
$Min[$i] = min($amazonY);
}
}
我真的不知道該怎麼可能是錯的...
編輯:延長時限是不是在這種情況下的解決方案,這個代碼可以並應始終在幾個毫秒內執行。
所以更改期限結束恰好工作? http://php.net/manual/en/function.set-time-limit.php – PlantTheIdea
有沒有在這個代碼,會導致無限循環的,因爲沒有循環。你需要看看是什麼調用這個函數。 –
看起來你打一個響應緩慢的互聯網服務和/或調用你的函數在一個循環。 – Tarik