0

GSS を使用してアプリケーションに適用するのはこれが初めてです。

GSS でクエリを検索すると、検索対象として追加した Web サイトによっては良い結果が得られます。しかし、GSS に約 100 個のクエリを for ループで 1 つずつ与えると、次のようになります。

   for ($i = 0, $count = count($arr1); $i < $count; $i++) 
   {
   print $arr1[$i]."\r\n\r\n";
  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:xyxyxyxyxyyx&client=google-csbe&output=xml_no_dtd&q='$in'");

echo $result;
}

ここでは、いくつかのページからなる長い文字列があり、それをそれぞれ 30 語程度の小さな配列に分割しています。FORループで渡したこれらの配列は、結果(さまざまなリンク)を取得するために、エコーで結果を出力しました。また、5 秒のスリープを適用して、サーバーが結果を取得して出力する時間を確保し、別のクエリを検索する前に 5 秒間待機します。

しかし、この for ループを実行すると、結果が得られず、むしろアプリケーションがハングし、次のような結果が得られます。

内部サーバーエラー

サーバーで内部エラーまたは構成ミスが発生したため、リクエストを完了できませんでした。

サーバー管理者 (webmaster@checkforplag.com) に連絡して、このエラーが発生した時刻と、このエラーの直前に行った操作を知らせてください。

このエラーの詳細については、サーバー エラー ログを参照してください。さらに、ErrorDocument を使用して要求を処理しようとしたときに、500 Internal Server Error エラーが発生しました。

エラーのスクリーンショット

私たちのアプリケーションに GSS を完全に適用するには、何をする必要があるかを教えてください。

ありがとう!

4

1 に答える 1

0

バックグラウンドプロセスでphpスクリプトを送信することで解決策が得られ、そのためにshell_execを使用しました。

これは私が使用したコードです:

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

そして、大きなファイルを実行していても、この種のエラーは発生しません。

于 2016-12-17T08:04:29.527 に答える