login  Naam:   Wachtwoord: 
Registreer je!
 Forum

408 Request Time-out (Opgelost)

Offline ZG1988 - 18/08/2009 21:35 (laatste wijziging 18/08/2009 21:40)
Avatar van ZG1988Gouden medaille

überleet
Citaat:
408 Request Time-out

This request takes too long to process, it is timed out by the server. If it should not be timed out, please contact administrator of this web site to increase 'Connection Timeout'.


Ik krijg deze error omdat ik een nogal vrij groot script uitvoer.
ik heb in .htaccess al volgende waarde ingesteld

Citaat:
php_value max_execution_time "6000"
php_value max_input_time "6000"


nu vroeg ik me af of ik die connection timeout ook kon vermijden?

4 antwoorden

Gesponsorde links
Offline Stefan14 - 18/08/2009 23:29 (laatste wijziging 18/08/2009 23:30)
Avatar van Stefan14 PHP gevorderde Je zal waarschijnlijk een script uitvoeren dat veel tijd vergt om alles te berekenen, en voor die tijd kapt de server er dus mee.

Je kunt meerdere dingen doen.
- Bepaalde dingen proberen te versnellen, betere scriptmethodes die sneller zijn. bijv. een switch/case constructie i.p.v. een heleboel if/else constructies. Ook kan het plaatsen van indexen op de juiste kolommen van je database (heel) veel tijd schelen.
- Kijken of je het script niet kan opdelen in meerdere scripts, dit kan bijv. bij cronjob scripts.
- Als je veel rekenwerk laat doen, kun je ook kijken of je dit op een eerder tijdstip al kunt laten doen. Bijv. d.m.v. een cronjob en dan sla je het resultaat op.
Dan hoef je alleen het resultaat nog maar op te halen wat veel sneller gaat dan nog tig berekeningen moeten uitvoeren.

Eventueel kun je je scripts plaatsen op plaatscode.be en een linkje posten zodat we hier een blik op kunnen werpen?
Offline ZG1988 - 18/08/2009 23:50
Avatar van ZG1988 Gouden medaille

überleet
mja nee het ligt aan dat het veel afbeeldingen moet kopieren en verkleinen maar vroeg me af of er zoals die andere een php_value bestond voor die timeout

toch merci voor de reactie
Offline Stefan14 - 19/08/2009 01:28 (laatste wijziging 19/08/2009 01:33)
Avatar van Stefan14 PHP gevorderde In dat geval zou je kunnen overwegen om minder afbeeldingen tegelijk te laten doen, in etappes dus.

Weet niet of het een uploadscript betreft, maar in dat geval moet je gewoon minder afbeeldingen tegelijk uploaden dan 10(?), 3 bijv.

Wanneer je een script geschreven hebt om een hele map met weet ik veel hoeveel afbeeldingen te verkleinen, zou ik het als volgt doen:
- even een tijdelijke tabel aanmaken in je database
- Je laat het script iedere keer een stuk of 10 afbeeldingen verkleinen (als hij dat trekt).
- Iedere afbeelding die verkleind is, sla je op in de database.
- bij iedere nieuwe afbeelding check je of deze al voorkomt in de database, zoja, dan niet opnieuw verkleinen.
- Na die 10 afbeeldingen moet je de pagina even laten refreshen.

Eventueel kun je tijdens het verkleinen ook meldingen laten weergeven zodat je ziet waar hij mee bezig is.
zo krijg je bijv. het volgende op je scherm.

Foto (bestandsnaam) is verkleind
Foto (bestandsnaam) is verkleind
Foto (bestandsnaam) is verkleind
..... enz.

ps. Met set_time_limit(0); kun je die maximale tijd volgens mij veranderen. (0 is geen limiet)
maar bedenk wel dat dit eigenlijk niet de bedoeling is en deze tijd niet voor niets is ingesteld. De server wordt er heel traag van, en zeker op een shared server (waar ook andere gebruikers op zitten) vinden ze dit meestal niet echt leuk.

Deze functie zal overigens waarschijnlijk niet werken, want deze werkt alleen wanneer php niet in safe mode draait, en zo'n beetje elke server draait daar wel in.
Maar ik kan het alleen maar als mogelijke oplossing aandragen hoewel ik het geen echte oplossing vind.
Offline ZG1988 - 25/08/2009 23:32
Avatar van ZG1988 Gouden medaille

überleet
opgelost door het gebruik te vragen en zien of de tijdspanne van het systeem groter is dan 50 (bij 60 is er een time-out). en dan de pagina te refrechen. Ik heb dan ook de foto's die ik al had gedaan opgeslagen in de database.

  1. $dat = getrusage();
  2. if($dat["ru_stime.tv_sec"] > 50){
  3. header("Refresh: 0;");
  4. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.167s