2011-12-07 14 views
0

私はUbuntu 11.10です。私がecho phpinfo();のような単純なスクリプトを書くと、エラーは表示されません。しかし、私はいくつかの追加のPHPコードをブラウザサーバーエラーページを記述しようとすると。ここで私は理解できない問題は何ですか?ubuntu 11.10のPHPサーバーエラー

コードを次のように変更すると、サーバーエラーが発生します。

<?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.<br />"; 
     return $this->getProperty().'<br />'; 
    } 
    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__.'<br />'; 
    } 
} 
$newClass = new MyOtherClass(); 
echo $newClass->getProperty(); 
?> 
+0

コードサンプルを提供してください。 – Mike

+0

質問を編集しました... – Sandeep

+0

Sever Errorとは何ですか? – Shad

答えて

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

    public __toString(){ 
    //... 

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

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

あなたはいくつかの方法でpublic/protectedfunctionを逃しています。


カップルより多くのエラー:

class MyOtherClass extends MyClass{ 
    public function __construct(){ 
     parent::__contruct(); 
     echo "A new constructor in class \"".__CLASS__"\""; 
    } 
    //... 
  • あなたはsなしparent::_construct()をスペルミス。
  • echo行に__CLASS__の後に連結演算子がありません。.

    echo $newClass->getProperty();

  • MyClass::getProperty()protectedあるので、あなたはここに出てからそれを呼び出すことはできません。

+0

私はコードに間違いがあっても、PHPのインタプリタはエラーを返すべきです。とにかく、私は上記のコードを編集し、同じエラーが続く。 – Sandeep

+0

時々PHPエラーは、サーバーのセットアップに基づいて、500のサーバーエラーを引き起こすことがあります。エラーログには何が入っていますか? – Wiseguy

+0

HTTPエラー500(内部サーバーエラー):サーバーが要求を実行しようとしている間に予期しない条件が発生しました – Sandeep

関連する問題