Forum: PC Hard- und Software Ubuntu: PHP-Fehlermeldungen werden nicht angezeigt


von Max S. (caligula141)


Lesenswert?

Hallo liebe Community,


ich bin gerade am Schreiben von PHP-Progrämmchen und habe folgendes 
Problem. Wenn ich Fehler im Code habe, zum Beispiel
1
<?php
2
echo "Es ist sehr "schoen" hier"; //Maskierungszeichen fehlen
3
?>
dann zeigt Firefox einfach garnix an und Chrome spricht vom "Server 
error" (HTTP-Code 500, anstatt 200). Für mich ist das total verwirrend. 
Stürzt mein Server etwa ab, wenn ich in meinem PHP-Skript Fehler habe?
Ich verwende Ubuntu 12.04 und habe einen lokalen LAMP-Server (Linux, 
Apache, MySQL, PHP5). --> sudo apt-get install php5 php5-mysql

Was kann ich tun, um dieses Problem zu beheben?

Im Voraus herzlichen Dank!


Gruß

Caligula

von Stefan R. (srand)


Lesenswert?

Max S. schrieb:
> Was kann ich tun, um dieses Problem zu beheben?

Fehlerfreie Skripte schreiben?

von D. I. (Gast)


Lesenswert?

error reporting angeschaltet?

von Εrnst B. (ernst)


Lesenswert?

Max S. schrieb:
> Was kann ich tun, um dieses Problem zu beheben?

Erstmal: Das ist kein Problem, sondern ein Sicherheits-Feature.
Zum Debuggen natürlich unpraktisch, aber in "realer" Umgebung sollte man 
keine Implementationsdetails über Fehlermeldungen rausposaunen.

=> schau in deine php.ini, ändere "display_errors".

von Max S. (caligula141)


Lesenswert?

Hallo,

wo liegt denn diese php.ini? Benutze Ubuntu noch nicht all' zu lange.

Wobei ich doch der Meinung bin, dass es irgendwas mit dem LAMPP-Server 
auf sich hatte. Ich habe mitlerweile mit der Synaptic-Paketverwaltung 
PHP, Apache und MySQL entfernt und XAMPP installiert. Jetzt läuft alles 
prima.
Weiß jemand wo hier nun der Fehler lag?

Gruß

Caligual

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Die Fehler werden defaultmäßig in das Error log geschrieben 
(var/log/apache2), über die php.ini kannst du das Verhalten anpassen.
XAMPP ist nochmal eine andere Baustelle...

Max S. schrieb:
> wo liegt denn diese php.ini
z.B. /etc/php5 ansonsten einfach mal Dateisuche bemühen

von T.roll (Gast)


Lesenswert?

ini_set ('display_errors', 1);
error_reporting (-1);

direkt nach <?php

von Georg A. (georga)


Lesenswert?

Der 500 (Internal Server error) passiert auch, wenn kein HTTP-Header 
(Content-type:...\n\n) ausgegeben wird.

von Bernd (Gast)


Lesenswert?

Du kannst auch einfach dein PHP-Script auf der Konsole ausführen:

>php /pfad/test.php

von Lukas K. (carrotindustries)


Lesenswert?

Sofern es noch nicht zu spät ist: seh' dir mal 
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ an und 
denk nochmal drüber nach ob das mit PHP wirklich so eine gute Idee war. 
In Python, Ruby oder node.js hättest du derartige Probleme nicht...

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> In ... hättest du derartige Probleme nicht
Dafür hätte er andere z.B. das kaum ein Hoster diese Sprachen zu 
günstigen Konditionen standardmäßig anbietet.

Muss eigentlich in jedem Thread zu PHP irgendwer schreiben wie besser 
und toller doch X oder Y wäre anstatt sich auf das Problem zu 
konzentrieren?

Und der Link von dir enthält kaum substanzielles, der Autor hat das 
Gefühl es sei nicht so wie er sich das wünschen würde und einige 
Behauptungen (speziell zum Setup + Apache) sind schlicht falsch.

von D. I. (Gast)


Lesenswert?

Läubi .. schrieb:
> Dafür hätte er andere z.B. das kaum ein Hoster diese Sprachen zu
> günstigen Konditionen standardmäßig anbietet.

Heroku ist kostenlos und für kleines Zeug ausreichend.

von Max S. (caligula141)


Angehängte Dateien:

Lesenswert?

Back2Topic: Ich habe das Problem jetzt so gelöst: Ich habe ein kleines 
Programm geschriebn, welches den .log-File periodisch auslesen kann und 
fertig. Vielleicht nicht die eleganteste Lösung, aber die 
PHP-Entwicklungsumgebung steht.

von Jackfritt (Gast)


Lesenswert?

Oh mann...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.