ブラウザから実行しているカスタムPHPスクリプトがいくつかある場合、スクリプトは任意のURLを取得し、ブラウザ内のテーブル形式またはExcelファイルとしてデータを返します。(オプション)
問題は、スクリプトに3つ以上のURLを追加するたびに、ネットワーク接続エラー(ピアによって接続がリセットされる)が発生することです。これは、さまざまな理由で発生する可能性があります。次に、データがテーブルによって返される場合、結果は切り捨てられ、Excelファイルによって、ダウンロードファイルは特定の時点で停止します「ネットワークエラー」
ローカルマシン(XAMPP)でスクリプトを実行していて、いくつかのライブサーバーでテストしたところ、同じ問題が発生しましたが、ライブサーバーでは接続が長くなることに気付きました。ホスティングプロバイダーから、大量のメモリ(+ 1GB RAM)を使用していて、処理速度が低下しているため、サーバーでスクリプトを実行しないようにという警告が表示されました。ローカルホストでテストを再開すると思います。
質問:
エラー「ピアによる接続リセット」を防ぐための構成/アドバイスはありますか?
毎週80を超えるURL(同じドメイン)を取得したいと思います。スクリプトを80個のスクリプト(それぞれ1つのURL)に分割し、それぞれを個別に実行します。あまり実用的ではありませんが、60秒の時間間隔でマスタースクリプトから複数のスクリプトを次々に実行するための良い方法/ Phpスクリプトは何ですか?
ここに私がURLを入力するコードの一部があります:
<?php
//to do link
$OutPut_Excel = $_GET['xls'];// 0 web page or 1 output excel
$show_Name = $_GET['show'];// 0 or 1
$urls = "http://www.URL1.com;
http://www.URL2.com;
http://www.URL3.com;
http://www.URL4.com;
http://www.URL5.com;
http://www.URL6.com;
http://www.URL7.com
";
//output excel
if($OutPut_Excel == "1")
{
header("Content-Type: application/vnd.ms-execl;charset=iso-8859-1");
header("Content-Disposition: attachment; filename=data.xls");
header("Pragma: no-cache");
header("Expires: 0");
}
set_time_limit(0);
ini_set('memory_limit', '-1');
ini_set('display_errors',true);
//output html
if($OutPut_Excel == "0")
{
?>
<html>
<head>
title>scraper</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
}
if($OutPut_Excel == "0")
{
if($show_Name)
{
$nametext = '<td>Name</td>';
}
echo "<table border='1'><tr><td>Name</td><td>Code</td>
<td>City</td><td>Address</td><td>E-mail</td><td>Phone/td> <td>Url</td>$nametext</tr>";
ECT.....。
スクリプトが次のように実行される場合:
- localhost / Scraper.php?xls = 0&show = 1 | ブラウザにデータを表示する
- localhost / Scraper.php?xls = 1&show = 1 | Excelファイルとしてダウンロードされたデータ
接続エラーによってデータが切り捨てられない限り、どちらの方法でも問題ありません。
私は初心者であり、自分でPHPを学んでいるので、解決策を見つけるための助けを本当にいただければ幸いです。
よろしくお願いします、Raj