2013-04-01 2 views
-3

Ниже приведен скрипт php, его не чистый и дружелюбный более или менее нуждающийся в том, чтобы указать, почему он сбой моего сервера, Im пытается просмотреть мои журналы ошибок на моем сервере, но его разбился, и я не могу доступ теперь .... мои навыки PHP не так хорошо ... любая помощь приветствуется:PHP-скрипт, вызывающий ошибки сервера

$checker = 0; 
    function shuffleArray($myArray) { 
    $value_count = array_count_values($myArray); 

    $last_value = $myArray[count($myArray) - 1]; 
    unset($myArray[count($myArray) - 1]); 
    $shuffle = array(); 
    $last = false; 

    while (count($myArray) > 0) { 
    $keys = array_keys($myArray); 
    $i = round(rand(0, count($keys) - 1)); 
    while ($last === $myArray[$keys[$i]]) { 
    $i = round(rand(0, count($keys) - 1)); 
    echo "stuck";$checker++; 
    if($checker>100){ 
     echo " Too many checks so die, and restart process "; 
     exit; 

    } 
    } 
    $shuffle[] = $myArray[$keys[$i]]; 
    $last = $myArray[$keys[$i]]; 
    unset($myArray[$keys[$i]]); 
} 

if ($last_value === $last) { 
$i = 0; 
foreach($shuffle as $key=>$value) { 
    if ($value !== $last_value) { 
     $i = $key; 
     break; 
    } 
    } 
    array_slice($shuffle, $i + 1, 0, $last_value); 
    } else { 
    $shuffle[] = $last_value; 
    } 

    return $shuffle; 
    } 

$shuffleReel = (shuffleArray($virtualReel)); 
function bob(){ 
if($checker>100){ 
    $checker = 0; 
    shuffleArray(); 
    echo "bob"; 
    reset($myArray); 
} 
    } 
+0

Почему вы не можете получить доступ к своим журналам? – 2013-04-01 18:00:53

+0

Это беспорядок ... Не могли бы вы сузить его до публикации всего вашего PHP? – brbcoding

+0

Не могу получить доступ к моему серверу из-за проблемы с памятью, скажем, что ошибка возникает во время цикла рядом с строкой «слишком много проверки и смерти», я не думаю, что его умирают – joshua

ответ

0

Ответ на этот вопрос не является ошибкой в ​​цикле, так что случилось, что все мои ресурсы сервера исчерпаны: , чтобы исправить это, мне пришлось возвращать нуль в скрипт flash/Action, откуда запускается скрипт.

 if($checker>100){ 
     $returnString = http_build_query("Error_1); // for flash to restart script 
        echo $returnString; 
     exit; 
     } 
1

при доступе ассоциативного массив переменных в двойных кавычках (называется интерполяция) вы должны упаковать их в {}. Например:

$reelFrame['value1'] = "{$ini_array['Symbol1']}";//notice I added {} around the array and encased Symbol1 in single quotes. The latter part is not necessary but recommended.

Вы должны сделать это для всех десяти строк.

+0

В качестве альтернативы вы могли бы просто избавиться от двойных кавычек вокруг переменной массива, к которой вы обращаетесь: P – Kita

+0

должен иметь решетку в массивах в любом случае, а не десять строк, на данный момент все это то читайте с помощью actionscript, так что на данный момент я оставляю этот код, так как взял меня на время ... im не разработчик php – joshua

+0

Я понимаю, но вы все равно должны это проверить, потому что отсутствие фигурных скобок вокруг него может привести к фатальным ошибкам в зависимости от вашего сервера настроить :) – Kita

Смежные вопросы