Ошибка внутреннего сервера 500 при запуске поиска по сайту Google

#php #gssapi #gss

#php #gssapi #gss

Вопрос:

Мы впервые используем GSS и применяем его в нашем приложении.

Если мы выполняем поиск по запросу в GSS, мы получаем хороший результат в зависимости от веб-сайтов, которые мы добавили для поиска. Но если мы передадим GSS около сотни запросов один за другим в цикле for, например,

    for ($i = 0, $count = count($arr1); $i < $count; $i  ) 
   {
   print $arr1[$i]."rnrn";
  sleep(5);

  $in = $arr1[$i];
  $in = str_replace(' ',' ',$in); // space is a  
 //google site search start here

$result = httpGet("https://www.google.com/cse?cx=003255331468891731323:xyxyxyxyxyyxamp;client=google-csbeamp;output=xml_no_dtdamp;q='$in'");

echo $result;
}
  

Здесь у нас есть длинная строка из нескольких страниц, которую мы разбили на небольшие массивы, скажем, по 30 слов в каждом. Этот массив мы передали в цикле FOR, чтобы получить результат (различные ссылки), мы напечатали результат с помощью echo. Мы также применили режим ожидания в 5 секунд, чтобы сервер получил время для получения результата и его печати, подождите 5 секунд, прежде чем искать другой запрос.

Но когда мы запускаем этот цикл for, мы не получаем результата, скорее наше приложение зависает и выдает нам результат, как показано ниже:

Внутренняя ошибка сервера

Сервер обнаружил внутреннюю ошибку или неправильную конфигурацию и не смог выполнить ваш запрос.

Пожалуйста, свяжитесь с администратором сервера по адресу webmaster@checkforplag.com чтобы сообщить им о времени возникновения этой ошибки и о действиях, которые вы выполнили непосредственно перед этой ошибкой.

Дополнительная информация об этой ошибке может быть доступна в журнале ошибок сервера. Кроме того, при попытке использовать ErrorDocument для обработки запроса была обнаружена ошибка внутренней ошибки сервера 500.

скриншот ошибки

Пожалуйста, подскажите, что нам нужно сделать, чтобы полностью применить GSS в нашем приложении.

Спасибо!

Ответ №1:

Я получил решение для этого, отправив свой php-скрипт в фоновом режиме, и для этого я использовал shell_exec.

Это код, который я использовал:

 $status = shell_exec("nohup /usr/bin/php test.php > /dev/null 2>amp;1 amp;");
  

И теперь я не получаю такого рода ошибки, даже если я запускаю большой файл.