Mailinglisten-Archive |
Hi Johannes, Johannes Schäfer schrieb: > ein interessantes projekt aber leider kann ich damit nicht > viel anfangen (ich hätte garnicht mal den zugriff auf das > system des providers). > > mein problem ist ich will möglichst viele webseiten in kurzer > zeit abrufen. > da ein http request ins internet ca. eins bis zwei sec. dauert > komme ich bei einem default timelimit von 30 sec nicht weit. > > also es müssten mehrer abfragen gleichzeitig gestartet werden > um das ganze zubeschleunigen. Eine wirklich elegante Lösung gibts bei diesen Rahmenbedingungen nicht. Eine einfache Methode, PHP zu "forken" ist natürlich fopen() auf eine weitere PHP-URL mit GET-Parametern, das Resultat wird dann schlicht von diesem weiteren "geforkten" Script serialisiert ausgegeben und vom Hauptscript mittels fgets und konsorten eingelesen und deserialisiert. Grundsätzlich, mit einem eigenem PHP, würde man das viel eleganter als über ein fork() lösen : Über socket_select(), eine Funktion, die in PHPs ext/socket bereitgestellt wird, können IO-Zugriffe parallelisiert werden. Es können also innerhalb des gleichen Prozesses beliebig viele http-connections aufgebaut werden, und diese können gleichzeitig bearbeitet werden. Liebe Grüße - johann
php::bar PHP Wiki - Listenarchive