Sie sind nicht angemeldet.

PHP Fehlermeldungen

Fragen und Antworten zu häufigen PHP Fehlermeldungen

Lieber Besucher, herzlich willkommen bei: PimpYourKiT. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Warning: fopen(file.txt) [function.fopen]: failed to open stream: No such file or directory in...

Fehlermeldung:

Quellcode

1
2
Warning: fopen(file.txt) [function.fopen]: failed to open stream:
No such file or directory in C:\xampp\htdocs\165\pkinc\public\test.php on line 2


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
$handle fopen("file.txt""r");
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das versucht wird eine Datei Namens "file.txt" zu öffnen. Diese aber nicht existiert oder nicht die entsprechenden Rechte hat.

Abhilfe dazu:
  • Dateiname überprüfen
  • Entsprechende CHMOD Rechte vergeben
  • Datei auf FTP Server laden
  • Ordnerstruktur beachten

Parse error: syntax error, unexpected T_UNSET in...

Fehlermeldung:

Quellcode

1
Parse error: syntax error, unexpected T_UNSET in in C:\xampp\htdocs\165\pkinc\public\test.php on line 3


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
$var 'Hallo Welt';
$var = unset($var);
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das unset keinen Wert zurück geben kann, da es seit PHP4 keine Funktion sondern ein Sprachkonstrukt ist.

Abhilfe dazu:
  • unset() ohne vorhergehende "$variable =" nutzen.
Richtig:

PHP-Quelltext

1
2
3
4
5
$var 'Hallo Welt';
unset($var);
/*
Hier der restliche Code...
*/

Warning: Missing argument 2 for foo(), called in...

Fehlermeldung:

Quellcode

1
2
Warning: Missing argument 2 for foo(), called in C:\xampp\htdocs\165\pkinc\public\test.php on line 12
 and defined in C:\xampp\htdocs\165\pkinc\public\test.php on line 5


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
function foo($phpversion,$system)
    {
        echo 'Folgende PHP-Version ist installiert: '.$phpversion;
        echo '<br />';
        echo 'Dein Betriebssystem: '.$system;
    }
   
foo(phpversion());
/*
Hier der restliche Code...
*//


Diese Fehlermeldung sagt aus, das ein oder mehrere Parameter bei der Funktionsausgabe fehlen.

Abhilfe dazu:
  • Fehlenden Parameter hinzufügen.
  • Standard Parameter in Funktion setzen.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
function foo($phpversion,$system)
    {
        echo 'Folgende PHP-Version ist installiert: '.$phpversion;
        echo '<br />';
        echo 'Dein Betriebssystem: '.$system;
    }
   
foo(phpversion(),$_SERVER['HTTP_USER_AGENT']);
/*
Hier der restliche Code...
*/

Warning: date() expects at least 1 parameter, 0 given in...

Fehlermeldung:

Quellcode

1
Warning: date() expects at least 1 parameter, 0 given in C:\xampp\htdocs\165\pkinc\public\test.php on line 2


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
echo date();
/*
Hier der restliche Code...
*//


Diese Fehlermeldung sagt aus, das ein oder mehrere Parameter fehlen.

Abhilfe dazu:
  • z.B. bei date() das Zeitformat übergeben - date('h:i').
  • Richtige Syntax beachten - date (string format [, int timestamp]). Wobei die in [ ] gesetzen Werte optional sind.

PHP-Quelltext

1
2
3
4
echo date('h:i');
/*
Hier der restliche Code...
*/

[function.include]: failed to open stream: No such file or directory in...

Fehlermeldung:

Quellcode

1
2
3
4
5
6
Warning: include(datei.php) [function.include]: failed to open stream:
 No such file or directory in C:\xampp\htdocs\165\pkinc\public\test.php on line 2

Warning: include() [function.include]: Failed opening 'datei.php' 
for inclusion (include_path='.;C:\xampp\php\pear\') 
in C:\xampp\htdocs\165\pkinc\public\test.php on line 2


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
include('datei.php');
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das versucht wird eine Datei "datei.php" in das Script einzubinden dies es gar nicht z.B. auf dem FTP Server gibt.

Abhilfe dazu:
  • Entweder den richtigen Dateinamen angeben
  • Die Datei auf dem Server laden
  • Das include, wenn nicht mehr benötigt entfernen
Das gleiche gilt auch bei include_once.
Der Unterschied zu require ist das bei include das Script trotzdem weiter ausgeführt wird.[/list]

[function.require]: failed to open stream: No such file or directory in...

Fehlermeldung:

Quellcode

1
2
3
4
5
Warning: require(datei.php) [function.require]: failed to open stream: No such file or 
directory in C:\xampp\htdocs\165\pkinc\public\test.php on line 2

Fatal error: require() [function.require]: Failed opening required 'datei.php' 
(include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\165\pkinc\public\test.php on line 2


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
require('datei.php');
/*
Hier der restliche Code...
*//


Diese Fehlermeldung sagt aus, das versucht wird eine Datei "datei.php" in das Script einzubinden dies es gar nicht z.B. auf dem FTP Server gibt.

Abhilfe dazu:
  • Entweder den richtigen Dateinamen angeben
  • Die Datei auf dem Server laden
  • Das require, wenn nicht mehr benötigt entfernen
Das gleiche gilt auch bei require_once.

Der Unterschied zu include ist das bei require das Script direkt abgebrochen wird und eine weisse Seite mit der Fehlermeldung erzeugt
wird.

Warning: Invalid argument supplied for foreach() in...

Fehlermeldung:

Quellcode

1
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\165\pkinc\public\test.php on line 4


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
8
$array '1,2,3';
foreach($array as $array_output)
    {
        echo $array_output;
    }
/*
Hier der restliche Code...
*//


Diese Fehlermeldung sagt aus, das foreach() ein array() erwartet.

Abhilfe dazu:
  • Die Werte in ein Array packen.
  • Prüfen ob Variable überhaupt ein Array ist.


PHP-Quelltext

1
2
3
4
5
6
7
8
$array = array(1,2,3);
foreach($array as $array_output)
    {
        echo $array_output;
    }
/*
Hier der restliche Code...
*/


Prüfen ob Array vorhanden:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
$array = array(1,2,3);
if(is_array($array))
    {
        foreach($array as $array_output)
            {
                echo $array_output;
            } 
    }
/*
Hier der restliche Code...
*/

Parse error: syntax error, unexpected '=' in...

Fehlermeldung:

Quellcode

1
Parse error: syntax error, unexpected '=' in C:\xampp\htdocs\165\pkinc\public\test.php on line 2


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
variable 'Hallo Welt';
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das ein $ fehlt.

Abhilfe dazu:
  • Vor dem Wort variable ein $ Zeichen setzen.
Richtig:

PHP-Quelltext

1
2
3
4
$variable 'Hallo Welt';
/*
Hier der restliche Code...
*/

Warning: Division by zero in...

Fehlermeldung:

Quellcode

1
Warning: Division by zero in C:\xampp\htdocs\165\pkinc\public\test.php on line 5


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
$a 2;
$b 0;
$ergebnis $a $b;
echo $ergebnis;
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das versucht wird durch 0 zu teilen, was aber mathematisch nicht korrekt ist.

Abhilfe dazu:

  • in $b eine andere Zahl als 0 einsetzen.
Richtig:

PHP-Quelltext

1
2
3
4
5
6
7
$a 2;
$b 1;
$ergebnis $a $b;
echo $ergebnis;
/*
Hier der restliche Code...
*/

Parse error: syntax error, unexpected '}' in...

Fehlermeldung:

Quellcode

1
Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\165\pkinc\public\test.php on line 11


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
if($var)
        if($var==1)
            {
                echo 'Test Bestanden';
            }
        else
            {
                echo 'Test nicht bestanden';
            }
    }
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das eine oder mehrere } nicht geöffnet worden.

Abhilfe dazu:
  • Öffnende Klammer ( { ) an entsprechende Stelle hinzufügen
Richtig:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if($var)
    { //--> Klammer hinzugefügt
        if($var==1)
            {
                echo 'Test Bestanden';
            }
        else
            {
                echo 'Test nicht bestanden';
            }
    }
/*
Hier der restliche Code...
*/

Parse error: syntax error, unexpected $end in...

Fehlermeldung:

Quellcode

1
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\165\pkinc\public\test.php on line 12


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
if($var)
    {
        if($var==1)
            {
                echo 'Test Bestanden';
            }
        else
            {
                echo 'Test nicht bestanden';
            }
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das eine oder mehrere { nicht geschlossen worden.

Abhilfe dazu:
  • Schliessende Klammer ( } ) an entsprechende Stelle hinzufügen
Richtig:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if($var)
    {
        if($var==1)
            {
                echo 'Test Bestanden';
            }
        else
            {
                echo 'Test nicht bestanden';
            }
    } //--> fehlende Klammer hinzugefügt
/*
Hier der restliche Code...
*/

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in...

Fehlermeldung:

Quellcode

1
2
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or 
T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\165\pkinc\public\test.php on line 2


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
echo "Aktuelle URL auf der du dich befindest $_SERVER['PHP_SELF']";
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das die Anführungszeichen um die Variablen gelöscht wurden/nicht existieren.

Abhilfe dazu:
  • $_SERVER['PHP_SELF'] in ".$_SERVER['PHP_SELF']." umschreiben.
Richtig:

PHP-Quelltext

1
2
3
4
echo "Aktuelle URL auf der du dich befindest ".$_SERVER['PHP_SELF']."";
/*
Hier der restliche Code...
*/

Fatal error: Parse error: Warning: Cannot modify header information - headers already sent by

Fehlermeldung:

Quellcode

1
2
Parse error: Warning: Cannot modify header information - headers already sent by (output started at/ 
C:\xampp\htdocs\165\pkinc\public\test.php:2) in C:\xampp\htdocs\165\pkinc\public\test.php on line 6


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
// Leerzeilen oder HTML Ausgabe
<?php
$var 'Hallo';
header("Location: http://www.pimpyourkit.de");
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das bei der Verwendung der Funktion header("Location: xxxx") schon Daten vom Server zum Browser gesendet wurden.

Abhilfe dazu:
  • Leerzeichen vor oder Umbrüche vor <?php entfernen
  • echo Befehle vor der Funktion header() vermeiden.
Richtig:

PHP-Quelltext

1
2
3
4
5
$var 'Hallo';
header("Location: http://www.pimpyourkit.de");
/*
Hier der restliche Code...
*/

Fatal error: Call to undefined function foo() in...

Fehlermeldung:

Quellcode

1
2
Parse error: Fatal error: Call to undefined function foo() in C:\xampp\htdocs\165\pkinc\public\test.php 
on line 2


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
$var foo();
echo $var;
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das versucht wird eine Funktion zu laden, die aber nicht vorhanden ist.

Abhilfe dazu:
  • Tippfehler im Funktionsnamen "foo" verbessern.
  • Die Funktion ist nicht in der Datei vorhanden bzw. die Funktion wurde vergessen per include() einzubinden. Dies einfach mal kontrollieren.

Parse error: syntax error, unexpected T_STRING in...

Fehlermeldung:

Quellcode

1
Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\165\pkinc\public\test.php on line 4


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
if($var)
    {
        $variable "Hier steht "mein" Text";
    }
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das ein String vorzeitig beendet wurde.

Abhilfe dazu:
  • Im Text vorkommende Anführungszeichen, die innerhalb von Anführungzeichen stehen müssen mit (\) escapet werden.
  • In unserem Beispiel einfach "mein" mit \"mein\" ersetzen.
Richtig:

PHP-Quelltext

1
2
3
4
5
6
7
if($var)
    {
        $variable "Hier steht \"mein\" Text";
    }
/*
Hier der restliche Code...
*/


Das ganze gilt auch umgekehrt:


Falsch:

PHP-Quelltext

1
2
3
4
5
6
7
if($var)
    {
        $variable 'Hier steht 'mein' Text';
    }
/*
Hier der restliche Code...
*/


Richtig:

PHP-Quelltext

1
2
3
4
5
6
7
if($var)
    {
        $variable 'Hier steht "mein" Text';
    }
/*
Hier der restliche Code...
*/

Parse error: parse error, expecting `','' or `';''

Fehlermeldung:

Quellcode

1
Parse error: parse error, expecting `','' or `';'' in C:\xampp\htdocs\165\pkinc\public\test.php on line 7


PHP Code zur Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
$var TRUE;
if($var == TRUE)
    {
        echo 'Test bestanden'
    }
else
    {
        echo 'Test nicht bestanden';
    }
/*
Hier der restliche Code...
*/


Diese Fehlermeldung sagt aus, das entweder ein Semikolon oder ein Komma vergessen wurde.

Abhilfe dazu:
  • Semikolon ( ; ) oder Komma ( , ) an die entsprechende Codezeile hinzufügen.
  • In unserem Beispiel einfach hinter echo 'Test bestanden' ein Semikolon setzen.
Richtig:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
$var TRUE;
if($var == TRUE)
    {
       echo 'Test bestanden'//--> Hier das fehlende Semikolon
    }
else
    {
        echo 'Test nicht bestanden';
    }
/*
Hier der restliche Code...
*/