Toon posts:

[CGI/Perl] 500 Internal server error

Pagina: 1
Acties:
  • 174 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik weet het, het is een van de meest voorkomende errors bij het gebruik van cgi-scripts (en ook één van de vaagste) maar ik kom er niet uit.

Het is namelijk zo dat ik sinds een paar dagen (na weken gedraaid te hebben zonder problemen en geen wijziging in de config) een 500 Internal server error krijg:

code:
1
2
3
4
5
6
7
8
Internal Server Error
The server encountered an internal error or misconfiguration and was 
unable to complete your request.
Please contact the server administrator, no@blaat.nl and inform them 
of the time the error occurred, and anything you might have done that 
may have caused the error.

More information about this error may be available in the server error log.


Het errorlog vermeldt het volgende:
code:
1
2
[Mon Dec 16 14:54:12 2002] [error] [client ***.***.***] couldn't spawn 
child process: d:/www/cgi-bin/webstats/awstats.pl

Ik weet niet zeker waar het aan ligt, meestal krijg ik de error na gebruik van een webstatistieken perlscript (AWstats).

De enige manier om het weer aan de gang te krijgen is Apache te restarten, dan werkt alles weer prima.

Iemand een hint in welke richting ik moet zoeken?

[ Voor 12% gewijzigd door Verwijderd op 16-12-2002 15:13 . Reden: verneuken van layout ]


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 21:58

odysseus

Debian GNU/Linux Sid

Zit de gebruiker apache (of www-data, of welke gebruiker er ook gebruikt wordt) misschien aan zijn maximale aantal processen/threads? Zie /etc/security/limits.conf, daarin staat welk maximum er geldt. Je kunt de apache-gebruiker een hogere limiet geven om zoiets op te lossen, al zou het eigenlijk zo moeten zijn dat apache daar zelf op let...het kan zijn dat de limiet in je httpd.conf hoger is dan die in limits.conf, waardoor je na verloop van tijd dit soort problemen krijgt.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • BOOTZ
  • Registratie: Maart 2001
  • Laatst online: 17-03 09:38
odysseus schreef op 16 December 2002 @ 15:35:
Zie /etc/security/limits.conf
zo te zien draait het ding op een windowsbak, dus hier zoeken heeft dan weinig zin lijkt me.
in je httpd.conf kan je bovendien wel een maximum aantal processes neerzetten, maar dat is alleen voor webserver-processes, dus niet voor script-processes.
ik heb verder weinig ervaring met windows webservers, maar daar zal vast ook wel iets zijn waardoor het process niet kan starten.

en verder over die vage 500 error: als apache het script niet kan starten, of het script geeft een foute uitvoer terug, dan krijg je een 500, en kan je in je error log kijken wat de fout was. zo krijgt niet iedereen te zien hoe erg je aan het prutsen bent :X :P

Maak je eigen poll


Verwijderd

Topicstarter
Ja, is idd een windows bak (windows 2000 server).

Uit het errorlog word ik niet veel wijzer (zie quote in openingspost)

[ Voor 172% gewijzigd door Verwijderd op 16-12-2002 18:10 ]


  • Red Sonja
  • Registratie: Juli 2001
  • Laatst online: 01-07 13:16

Red Sonja

Linux: power to de wortel

Tja, je zult dus verder moeten kijken naar die awstats.pl
Voortaan is het misschien wel handig om dit te gebruiken:
code:
1
2
3
4
5
6
use diagnostics;
use CGI::Carp qw(fatalsToBrowser);
                  BEGIN
                  {
                  use CGI::Carp qw(carpout);
                  }


Zet het bovenaan je script zodat je de foutmelding en daarbij horende uitleg via je browser binnenkrijgt. Let wel op dat de rest die foutmelding dan ook ziet...

And the beast shall be made legion. Its numbers shall be increased a thousand thousand fold. The din of a million keyboards like unto a great storm shall cover the earth, and the followers of Mammon shall tremble. from The Book of Mozilla, 3:31