• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick

MAMP zeigt keine Fehlermeldungen

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Guten Abend alle zusammen,

hab da eben ein Problem mit MAMP, läuft alles eigentlich perfekt aber heute hab ich bemerkt dass MAMP bei PHP-Seiten keine Fehlermeldung ausgibt, wenn z.B. ein Parse-Error auftritt.

In der PHP ini hab ich schon die Fehlermeldungen auf E_ALL gestellt. Hab auch schon in meinem Script error_reporting(E_ALL); versucht einzustellen. Leider ohne Erfolg. Ich hoffe hier kann mir jemand helfen ;)
 

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Hab den Fehler schon gelöst. War noch ne weitere Einstellung in der php.ini :)
 

FloydThreepwood

Stechapfel
Registriert
19.01.06
Beiträge
161
Ich hab dasselbe Problem, kannst du mir man kurz sagen, wie du das gelöst hast?

cu ft
 

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
im terminal nach php.ini suchen,
zb: /usr/local/php5/lib/php.ini

mit dem sudo-befehl die Datei öffnen (zb im vi)
sudo vi php.ini

den Punkt "Error handling & logging" suchen
Code:
error_reporting = E_ALL & ~E_NOTICE
den Kommentar am Zeilenbeginn ';' entfernen, die andere(n) Zeilen mit einem Semikolon auskommentieren.
Server neu starten.
 

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Ne, du musst error_display auf 1 stellen damit es geht. Error_reporting ist schon richtig eingestellt.
 

Hilarious

Gelbe Schleswiger Reinette
Registriert
10.08.05
Beiträge
1.759
duderino hat recht. Seit 4.3 (glaube ich), ist die php.ini nach eine Neu-Installation so eingestellt, dass Fehlermeldungen standardmäßig unterdrückt werden, um keine Sicherheitslücken in Produktivsystemen aufzureißen; noch vor gut zweieinhalb Jahren konnte man einem großen Buchversender (nicht amazon) jeden Samstag Mittag lesen "Warning: Could not connect to MySQL database in /opt/apache/htdocs/db.inc.php in line 43 -- too many connections" (so oder so ähnlich).

Alternativ empfiehlt die Dokumentation die Aktivierung des Fehler-Loggings in eine entsprechende Log-Datei.
 

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Joa, ich seh zwar keine große Sicherheitslücke in der Anzeige von Fehlern aber gerade zum programmieren, wo einem doch mal der ein oder andere Fehler unterkommt, ist es natürlich unbedingt notwendig das auf 1 zu schalten.

Kann natürlich aber auch direkt in einer php Datei definiert werden. Man muss nicht unbedingt die php.ini aufrufen um das einzustellen.
 

Hilarious

Gelbe Schleswiger Reinette
Registriert
10.08.05
Beiträge
1.759
Ein Problem ist zum Beispiel, dass einige PHPler dazu neigen, die Datenbankverbindung in einer Datei im DocRoot des Apache auszulagern. Grundsätzlich eine gute Sache, nur sollte eine solche Datei (nennen wir sie »db.inc.php«) nicht im, vom Browser adressierbaren, DocRoot des Servers liegen. Fällt die PHP-Parserei aus, zum Beispiel weil der Entwickler seiner Server falsch konfiguriert hat, kann die Datei im Browser im Klartext angezeigt werden. Und schon hat der Bösewicht den Benutzernamen und das Kennwort des verwendeten MySQL-Benutzers.

Einige Entwickler neigen auch dazu, die Header-Dateien nur mit der Suffix ».inc« zu versehen. Hier ist es noch gefährlicher, da eine solche Datei, direkt vom Browser aus adressiert, sofort im Klartext ausgegeben wird. Heißt also die Datenbankverbindungsdatei »db.inc« (und das dürfte nicht selten der Fall sein), braucht man nur die WebSite durch Überlastung zur Fehlermeldung zu zwingen, es seinen zuviele Datenbankverbindungen geöffnet (etwa bei persistenten Verbindungen). Und schon weiß ich, wo die »db.inc« zu finden ist, es stand ja in der Fehlermeldung. Also schnell die URL im Browser zusammengeschraubt und: Zugriff.

Klingt zwar alles ein wenig hyptothetisch auf den ersten Blick, ist aber alles schon vorgekommen...
 

Hilarious

Gelbe Schleswiger Reinette
Registriert
10.08.05
Beiträge
1.759
Zusatz: Ich habe mal eben bei Google nach »db.inc« gesucht. Sehr spannende Ergebnisse.
 

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Hilarious schrieb:
Klingt zwar alles ein wenig hyptothetisch auf den ersten Blick, ist aber alles schon vorgekommen...

Ich finde das überhaupt nicht hyptothetisch. Konfigurationsdateien mit Passwörtern müssen grundsätzlich ausgelagert werden. Also ich mache das schon lange bei den meisten meiner Scripte. Das ist wirklich wichtig!!!
 

duderino

Prinzenapfel
Registriert
26.01.06
Beiträge
555
Trotzdem immer alle Script mit error_reporting(E_ALL) betreiben und entwickeln. Man umgeht einfach schon ein paar Sicherheitsprobleme wenn man gleich von Anfang an alles richtig programmiert.