1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

MAMP zeigt keine Fehlermeldungen

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von duderino, 05.03.06.

  1. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    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 ;)
     
  2. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    Hab den Fehler schon gelöst. War noch ne weitere Einstellung in der php.ini :)
     
  3. FloydThreepwood

    FloydThreepwood Stechapfel

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

    cu ft
     
  4. creative7even

    creative7even Jerseymac

    Dabei seit:
    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.
     
  5. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    Ne, du musst error_display auf 1 stellen damit es geht. Error_reporting ist schon richtig eingestellt.
     
  6. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    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.
     
  7. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    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.
     
  8. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    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...
     
  9. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Zusatz: Ich habe mal eben bei Google nach »db.inc« gesucht. Sehr spannende Ergebnisse.
     
  10. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    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!!!
     
  11. Keyes

    Keyes Gast

  12. duderino

    duderino Goldparmäne

    Dabei seit:
    26.01.06
    Beiträge:
    556
    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.
     

Diese Seite empfehlen