2012-02-02 10 views
1

です。いいコードのスライスが見つかりました。まあまあまあまあまあまあいいです。 私はこの問題に直面したときに、無限の時間スパンで実行するスクリプトを手に入れることができなかったことを思い出しました。実際、数時間以上実行することはできませんでした。PHPの実行時間は永遠に、Webパーサー

これは私が次のように設定した後、次のとおりです。

set_time_limit(0); 
    ini_set("memory_limit", "800M"); 
// in some case i would set them both in others, just one or the other 

私は正確には、PHPはより長い時間スパンのために実行するために取得する方法へと無限のストレッチをいくつかの読書をやってきました。 私はPHPの代わりにcronの仕事のための多くの提案を見つけましたが、私はPHPでこれを行う方法を探したいと思います。

私はいくつかの例を愛するでしょう。

私は上記のコードブロックを使用したいと思います。ここでは、正しいパスでディスカッションを開始するためのリファレンスとしてここにあります。

How to write a crawler?

while(list of unvisited URLs is not empty) { 
    take URL from list 
    fetch content 
    record whatever it is you want to about the content 
    if content is HTML { 
    parse out URLs from links 
    foreach URL { 
     if it matches your rules 
      and it's not already in either the visited or unvisited list 
      add it to the unvisited list 
    } 
    } 
} 
+0

「PHPではなくcronジョブの提案がたくさんありましたが、これをPHPで行う方法を探しています」 - これらは相互に排他的ではありません。 PHPスクリプトを実行するためのcronジョブを簡単にセットアップすることができます。このようなことは、あなたがやりたいことです。ページを開いて、タスクを完了するのを待っているWebブラウザでサイトに入れたくないのです。コマンドラインから(それがcronジョブとして設定されている場合に実行している)PHPを実行するときには、時間制限について心配する必要はありません。コマンドラインでデフォルトで制限はありません。 – DaveRandom

+0

@DaveRandomは主張のために素敵です。 – RmH

+0

何が問題なのですか?私たちは数週間働いているPHPスクリプトを実行しており、うまくいきます。 – Vyktor

答えて

1

PHPを使用しない代わりに、WITH cronジョブ。次のように

あなたがLinuxサーバ上のcronとしてPHPスクリプトを実行することができます

<time/frequency> <path to PHP> <php script full path>

例えばこれは、あなたがそれをコントロールパネル内の管理ツールであるWindows 7の上で、コントロールパネルに配置されたスクリプトを実行するタスクスケジューラを使用することができます

* * * * * /usr/bin/php -q /var/www/html/cron/parser.php 

またはWindows上...分ごとに実行されます。

PHP、MySQL、Curl、およびcronの組み合わせを使用して、URLから削除したいすべてのデータが解析されるまで、Webアプリケーションを無期限に実行しています。

+0

どのようにウィンドウでそれを実行するのですか?それは可能ですか? – RmH

+0

私はwamp経由でPHPを実行しています、それはすべて同じですか? – RmH

+0

ありがとうございました。私は – RmH

関連する問題