[PHP]error 500 mogelijke oorzaken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Ik heb een probleem met een script. Dit script laad een bepaald bestand in(require()) en roept daarna een functie aan. Het script werkt perfect, alleen heb ik 1 item waar het niet voor werkt. Hier een klein deeltje van de code:

De functie wordt aangeroepen met: loadModule('usersmanagement');
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*FUNCTION FOR LOADING MODULES*/
function loadModule($moduleName, $version=0, $moduleType=false){
         if(isset($_SESSION['version'])){
                if($version==0){
                        require_once('./modules/v'.$_SESSION['version'].'/'.$moduleName.'.php');
                }else{
                      if(!$moduleType){
                            $moduleType='';
                      }else{
                            $moduleType.='/';
                      }     
                      $filename='./modules/'.$moduleType.$moduleName.'-v'.$version.'.php';
                      if(file_exists($filename)){
                            require_once($filename);
                      }else{
                            echo 'modulebestand: '.$filename.' niet gevonden!';
                      }
                }
                $loadedModules[]=$moduleName;
                
         }else{
                echo '<b>Error: Tried to load the module: '.$moduleName;
         }
}

en het bestand wat geladen word: usersmanagement.php:
PHP:
1
2
3
4
5
<?PHP
function startusersmanagement(){
     echo 'hello world!';
}
?>


Het vage aan dit probleem is dus dat er ten eerste geen fatsoenlijke foutmelding uit komt: Premature end of script headers: c:/php/php.exe
Ten tweede geeft drWatson een geheugenfout aan: "De toepassing heeft het tijdelijke geheugengebied overschreden."

Extra gegevens uit drWatson:
"Toepassingsnaam: Php.exe
Beschrijving: PHP Script Interpreter
Versie: 4.3.2.2
Product: PHP Thread Safe CGI
Fabrikant: The PHP Group"

en ten derde werkt het bij de andere applicaties wel gewoon goed en worden ze zonder problemen geladen.

[ Voor 22% gewijzigd door djluc op 23-07-2003 17:33 . Reden: excuses voor het vepesten van de lay-out ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

En als je PHP gewoon als de aangeraden Module installeert ipv CGI ?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Bosmonster schreef op 23 juli 2003 @ 17:34:
En als je PHP gewoon als de aangeraden Module installeert ipv CGI ?
Dat heb ik nog niet geprobeerd, maar dan zou het helemaal niet moeten werken lijkt mij. Ik zal zometeen eens even kijken of dat helpt. Dit is trouwens maar een dev-machine, dit installde het snelste.

Ik heb dit al wel eens vaker gehad, toen zat er een heel klein foutje in de code, ik weet niet meer precies wat het was. Wat wordt eigenlijk bedoeld met die foutmelding?

Het is trouwens Windows ME: quoteje van install.txt uit c:\php:
In particular, with the ISAPI module, you are likely to encounter serious
reliability problems especially on platforms older than W2K - you may
witness a lot of server 500 errors and suffer from other server modules
such as ASP also failing. You have been warned!

[ Voor 25% gewijzigd door djluc op 23-07-2003 17:37 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Geen idee.. maar in ieder geval dat de CGI module van PHP over de zeik ging ;) Vandaar ;)

(Als Module installeren is overigens net zo makkelijk als CGI als je op Apache werkt.. kwestie van een 2 regeltjes in je httpd.conf)

Edit: ow.. je gebruikt IIS als webserver :? Op ME :P En dan PHP als CGI..

Wil je niet op je tenen trappen.. maar als het toch een DEV-bak is.. zet er dan gewoon Win2K/Apache2 op ;)

[ Voor 75% gewijzigd door Bosmonster op 23-07-2003 17:41 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Bosmonster schreef op 23 July 2003 @ 17:37:
Geen idee.. maar in ieder geval dat de CGI module van PHP over de zeik ging ;) Vandaar ;)

(Als Module installeren is overigens net zo makkelijk als CGI als je op Apache werkt.. kwestie van een 2 regeltjes in je httpd.conf)
Ik zal zo eens even kijken. Mijn vorige install was ook op deze manier, en deze regeltjes wist ik nog uit mijn hoofd dus heb ik die maar ingetikt.

Wat denk je van de quote in mijn vorige post? Het lijkt er niet echt stabieler op te worden ;)
Edit: ow.. je gebruikt IIS als webserver Op ME
Hoe kom je daar bij? Het is echt wel apache hoor.
Wil je niet op je tenen trappen.. maar als het toch een DEV-bak is.. zet er dan gewoon Win2K/Apache2 op
Die heb ik nog niet legaal thuisliggen, en ik had geen zin om weer drivertjes te gaan zoeken enzovoorts. Dit is gewoon zo'n standaard recovery cd'tje. Binnenkort ga ik een slackware 9 bak in mijn netwerkje hangen en dan ga ik daar apache op draaien, hoezo stabiel?

[ Voor 32% gewijzigd door djluc op 23-07-2003 17:43 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Ow.. dacht dat je het over de ISAPI module had.. maar dat was maar een quote dus :)

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Diezelfde php-cgi-executable kan je als commandline applicatie gebruiken, kijk es of je script het met die commandline versie wel gewoon doet?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Ik denk dat ik een verkeerd stukje gequote heb |:(
Diezelfde php-cgi-executable kan je als commandline applicatie gebruiken, kijk es of je script het met die commandline versie wel gewoon doet?
Kan dat wel? Aangezien ik ook moet inloggen?

Ik heb in httpd.conf het volgende gewijzigd:
code:
1
2
3
   LoadModule php4_module c:/php/sapi/php4apache.dll
   AddModule mod_php4.c
   AddType application/x-httpd-php .php

Net even apache herstart, maar die kan een bibliotheekbestand niet vinden. Ik ga dat nu even proberen te fixen. edit: Damn, ik had de versie van 1 mb, moest die van 6 mb hebben.

Ik heb het geinstalleerd zoals in de install.txt staat maar hij wil de module maar niet laden. Ik heb deze staan in c:/php/sapi/, php.ini staat in c:\program files\apache group\apache

[ Voor 130% gewijzigd door djluc op 23-07-2003 18:11 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

zorg dat de DLL in de system32 map staat en je php.ini in de windows map..

Deze twee regels doen heb bij mij:

#PHP
LoadModule php4_module c:/Apache2/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php

het AddModule regeltje is niet nodig.

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Ik heb geen Apache 2 maar apache 1.3 omdat 2 niet goed werkt op Windows ME.
Ik ben al een eindje, alleen moet ik nog zorgen dat PHP geparsed wordt, nu krijg ik de source te zien.

Error: Cannot remove module mod_php4: not found in module list

[ Voor 16% gewijzigd door djluc op 23-07-2003 20:21 ]


Acties:
  • 0 Henk 'm!

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 05-09 07:32

Willem2

Ω is futile

beetje vaag misschien, maar heb ooit eens iets gelezen over c:\php\php.exe ipv. c:/php/php.exe

Het schijnt op sommige configuraties fout te gaan met slash forward. Ik draai PHP4.3.2 onder Apache1.3.27 onder XP en daarop lijkt het niet uit te maken.
Anyway, baat het niet dan schaadt het niet! :)

en nee, ik houd niet van voetbal... :)


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

djluc schreef op 23 juli 2003 @ 20:19:
Ik heb geen Apache 2 maar apache 1.3 omdat 2 niet goed werkt op Windows ME.
Ik ben al een eindje, alleen moet ik nog zorgen dat PHP geparsed wordt, nu krijg ik de source te zien.

Error: Cannot remove module mod_php4: not found in module list
Dat maakt niet uit.. moet je alleen ff het pad veranderen.. regels zijn hetzelfde :) (en php4apache.dll ipv php4apache2.dll natuurlijk)

AddModule mod_php4.c

Die hele regel moet je er dus NIET inzetten!

Echt het enige wat je hoeft te doen is:

- Apache installeren
- PHP uitpakken
- PHP DLL en PHP.INI kopieren naar juiste plek
- Die twee regels plakken in je httpd.conf met het juiste pad

That's all :/

[ Voor 30% gewijzigd door Bosmonster op 23-07-2003 21:00 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
toen ik een keer met IIS heb gekut op mn laptop onder WinXp, kreeg ik PHP 4.2 ofzo niet aan de gang als module, alleen als CGI.

*zucht, lees verdomme alles eerst voordat ik post :/ kzie net dat het apache is wat er gebruikt wordt. Toch, mijn punt blijft, misschien handig voor anderen die wel dom genoeg zijn om IIS te verkiezen over Apache*

[ Voor 47% gewijzigd door Grijze Vos op 24-07-2003 01:45 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
toen ik een keer met IIS heb gekut op mn laptop onder WinXp, kreeg ik PHP 4.2 ofzo niet aan de gang als module, alleen als CGI.
Dat wij weten dat jij een keer met IIS gekut hebt, ik zou niet weten wat ik daar aan heb.

Ik heb nu alleen dit in mijn httpd staan, met de rest wat er in hoort natuurlijk ;):
code:
1
2
LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php

En ik blijf maar dezelfde foutmelding houden, dat de module niet verwijderd kan worden. Ik ga toch maar eens een linux installatie(SlackWare9) proberen te leren denk ik.

Nu ik er al wat langer mee bezig ben begin ik er steeds meer aan te twijfelen dat het een probleem is met apache. Ik denk serieus dat het met de code, of de verwerking(PHP) daarvan te maken heeft, maar niet met de implementatie daarvan binnen Apache.

[ Voor 18% gewijzigd door djluc op 24-07-2003 11:05 ]

Pagina: 1