Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP/JS?] Uitvoeren meerdere pagina's, omzeilen exec.timeout

Anoniem
MacNetron
2 antwoorden
  • Aloha!

    Ik heb een aantal webpagina's in PHP gebakken die voor mij enkele webshops parseren voor artikelen en prijzen. Die zet ik dan in een database, waarin ik dan rustig kan zoeken.

    Probleem is nu, dat parsen, dat duurt even. 1 pagina is binnen de tijd, 2 pagina's gaat al over de exec.time limiet van PHP heen. Zo moet ik momenteel 33 keer klikken om elke webshop-pagina apart te updaten in de db. Ik kan thuis/localhost wel de exec. tijd verhogen, maar op de uiteindelijke webserver niet… helaas.

    Is het mogelijk om die exec.tijd te omzeilen? Ik zat eigenlijk te denken aan een JavaScript dat elke pagina voor mij opstart. Denk ik in de goede richting of is er misschien een makkelijkere of meer voor de hand liggende optie??

    Met een zeer vriendelijk groetje,
    Marco
  • Kijk voor het verlengen van je timeout eens in de manual:
    http://nl3.php.net/manual/nl/function.set-time-limit.php

    Overigens raad ik niet aan om je timeout te verhogen. Je kan dan nog beter je pagina meerdere keren aanroepen.

    Bijvoorbeeld (uit de losse pols, ongetest en voor verbetering vatbaar ;)):
    [code:1:4beb8ba468]
    <?php
    $sites = array("http://www.shop1.nl", "http://www.shop2.nl");

    $id = (integer) $_GET["id"];

    if ($id >= 0 && $id < count($sites))
    {
    // doe je ding met sites[$id]

    // volgend id inladen
    echo "<script type='text/javascript'>location.href = '"
    , $_SERVER['PHP_SELF'], "?id=", ++$id, "';</script>";
    }
    else
    {
    echo "we zijn klaar of hebben geen geldige input gekregen";
    }
    ?>[/code:1:4beb8ba468]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.