PHP-serverfout in ubuntu 11.10

Ik ben in Ubuntu 11.10. Wanneer ik een eenvoudig script zoals echo phpinfo (); schrijf, wordt het uitgevoerd en bevat het geen fouten. Maar als ik probeer wat extra php-code te schrijven, dan is de foutpagina van de browserserver. Wat is hier het probleem dat ik niet begrijp ??

Laten we zeggen dat als ik de code verander in de volgende het een serverfout geeft;

<?php
class MyClass{
    private $prop;
    public function __construct(){
        echo "The class \"".__CLASS__."\"was created";
    }
    public function __destruct(){
        echo "The class \"".__CLASS__."\" was destroyed";   
    }
    protected function getProperty(){
        return $prop;
    }
    public function __toString(){
        echo "__toString() method called.
"; return $this->getProperty().'
'; } public function setProperty($prop){ $this->prop = $prop; } } class MyOtherClass extends MyClass{ public function __construct(){ parent::__contruct(); echo "A new constructor in class \"".__CLASS__"\""; } public function newMethod(){ echo 'From a new method in class '.__CLASS__.'
'; } } $newClass = new MyOtherClass(); echo $newClass->getProperty(); ?>
0
Ik heb de vraag bewerkt ...
toegevoegd de auteur Sandeep, de bron
HTTP-fout 500 (interne serverfout): er is een onverwachte situatie opgetreden terwijl de server probeerde aan de aanvraag te voldoen.
toegevoegd de auteur Sandeep, de bron
Wat is de Sever-fout?
toegevoegd de auteur Shad, de bron
kan je alsjeblieft een codevoorbeeld geven?
toegevoegd de auteur Mike, de bron

1 antwoord

class MyClass{
    protected getProperty(){
    //...

    public __toString(){
    //...

    public setProperty($prop){
    //...

class MyOtherClass extends MyClass{
    public __construct(){
   //...

U mist function na public / protected op verschillende manieren.


Koppel meer fouten:

class MyOtherClass extends MyClass{
    public function __construct(){
        parent::__contruct();
        echo "A new constructor in class \"".__CLASS__"\"";
    }
    //...
  • You misspelled parent::_construct() without the s.
  • In your echo line, __CLASS__ is missing a . concatenation operator after it.

    echo $newClass->getProperty();

  • MyClass::getProperty() is protected, so you can't call it from out here.

3
toegevoegd
Zelfs als ik fouten in de code had, zou de PHP-interpreter me moeten antwoorden met de fouten. Anyways, ik heb de bovenstaande code bewerkt en dezelfde fout blijft bestaan.
toegevoegd de auteur Sandeep, de bron
HTTP-fout 500 (interne serverfout): er is een onverwachte situatie opgetreden terwijl de server probeerde aan de aanvraag te voldoen
toegevoegd de auteur Sandeep, de bron
Ik weet niet zeker waar ik in php.ini moet kijken.
toegevoegd de auteur Sandeep, de bron
toegevoegd de auteur Sandeep, de bron
Soms veroorzaken PHP-fouten daadwerkelijk 500 serverfouten, op basis van de serverconfiguratie. Wat zit er in het foutenlogboek?
toegevoegd de auteur Wiseguy, de bron
@ insane-36 Ik bedoelde het PHP-foutenlogboek. Controleer ook php.ini om te zorgen dat loggen eerst is ingeschakeld.
toegevoegd de auteur Wiseguy, de bron
toegevoegd de auteur Wiseguy, de bron
@ insane-36 Hier zijn relevante configuratie-opties: php.net/manual/en/ errorfunc.configuration.php
toegevoegd de auteur Wiseguy, de bron
@ insane-36 Werkt het nadat u de extra fouten die ik noemde, hebt opgelost? Zie ook deze vraag: PHP - 500 in plaats van een fout .
toegevoegd de auteur Wiseguy, de bron