Marco Kripp: Es werden keine PHP Fehlermeldungen ausgegeben

Wie kann es sein, dass trotz:
ini_set ('error_reporting', E_ALL);
oder
error_reporting(E_ALL);
keine PHP-Fehlermeldungen erscheinen?

phpinfo() sagt:
display_errors = Off

Ich bin mir aber nicht sicher ob das relevant ist

Gruß
Marco

  1. echo $begrüßung;

    phpinfo() sagt:
    display_errors = Off

    Ich bin mir aber nicht sicher ob das relevant ist

    Ja, es ist relevant und die Ursache für das Nichtausgeben der Fehlermeldungen. Der error_reporting-Wert muss auch dann einstellbar sein, wenn man zwar keine Fehlermeldungen in der Ausgabe sehen möchte, sie jedoch beispielsweise im Logfile haben möchte.

    echo "$verabschiedung $name";

  2. Hmm...

    "The error_reporting() function won't be effective if your display_errors directive in php.ini is set to "Off", regardless of level reporting you set."
    http://de.php.net/error_reporting

    Super, ist es normal für einen Provider (twosteps) sowas zu machen?

    Gruß
    Marco

    1. gudn tach!

      Super, ist es normal für einen Provider (twosteps) sowas zu machen?

      kurz: ja.
      lang: "Note:  This is a feature to support your development and should never be used on production systems (e.g. systems connected to the internet)."
      (quelle)

      beachte die zweite bemerkung im verlinkten abschnitt.

      prost
      seth

    2. echo $begrüßung;

      "The error_reporting() function won't be effective if your display_errors directive in php.ini is set to "Off", regardless of level reporting you set."
      Super, ist es normal für einen Provider [...] sowas zu machen?

      Ja, denn die Anzeige der Fehlermeldungen stört meist den Seitenaufbau. Außerdem sind diese Fehlermeldungen für Endanwender nicht nur nicht von Belang, sie geben auch Informationen Preis, die man oftmals nicht veröffentlichen möchte.

      Eine Anwendung sollte "im Labor" entwickelt und getestet werden. Falls in der freien Wildbahn doch noch Fehler auftreten ist ein Log-Mechanismus der gescheiteste Kompromiss zwischen Gesprächigkeit und ungewollter Informationspreisgabe.

      echo "$verabschiedung $name";

      1. Hi!

        Eine Anwendung sollte "im Labor" entwickelt und getestet werden. Falls in der freien Wildbahn doch noch Fehler auftreten ist ein Log-Mechanismus der gescheiteste Kompromiss zwischen Gesprächigkeit und ungewollter Informationspreisgabe.

        Ah ja, einerseits diese Restriktion und andererseits "register globals=   on". Gibt es einen Möglichkeit doch display_errors=On zu setzten? Ich möchte nämlich den quellcode online test da ich local keine server installieren möchte.

        Gruß
        Marco

        1. echo $begrüßung;

          Ah ja, einerseits diese Restriktion und andererseits "register globals=   on".

          Das sind zwei verschiedene Paar Schuhe.

          Gibt es einen Möglichkeit doch display_errors=On zu setzten?

          Ja, display_errors ist ebenso wie error_reporting PHP_INI_ALL. Das bedeutet, dass man es in der php.ini, .htaccess, httpd.conf und im Script mittels ini_set() ändern kann.

          echo "$verabschiedung $name";

          1. Hi!

            Ja, display_errors ist ebenso wie error_reporting PHP_INI_ALL. Das bedeutet, dass man es in der php.ini, .htaccess, httpd.conf und im Script mittels ini_set() ändern kann.

            ini_set (display_errors,"1");
            error_reporting (E_ALL);

            ändert leider nichts an meinem Problem

            1. Hi!

              ini_set (display_errors,"1");
              error_reporting (E_ALL);

              ändert leider nichts an meinem Problem

              Ok, dann habe ich wohl "Fatal Errors"

              (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed.

              Danke für die hilfe

              Gruß
              Marco

            2. echo $begrüßung;

              ini_set (display_errors,"1");
              error_reporting (E_ALL);

              ändert leider nichts an meinem Problem

              Vielleicht liegt es daran: "Although display_errors may be set at runtime (with ini_set()), it won't have any affect if the script has fatal errors. This is because the desired runtime action does not get executed." (siehe Beschreibung zu display_errors)

              Wenn du keine Möglichkeit hast, Konfigurationswerte anderswo zu setzen (php.ini im Script-Verzeichnis oder .htaccess), sehe ich im oben beschriebenen Fall keine andere Chance, dem Fehler auf diesem Server auf die Spur zu kommen als solange Teile des Codes zu entfernen, bis eine Ausgabe stattfindet. Der fatale Fehler (meist Parse-Fehler) wird dann im entfernten Code-Teil sein.

              Wenn die Ursache eine andere ist, bin ich momentan etwas überfragt und würde gern die Werte der Parameter disable_functions, error_log, log_errors sehen und die PHP-Version wissen wollen.

              ini_set (display_errors,"1");
              error_reporting (E_ALL);

              Abgesehen davon, E_ALL ist zwar eine Konstante, die man ohne Gänsefüße notiert, display_errors ist jedoch nur ein normaler String, der mit '' oder "" einzuschließen ist. PHP nimmt zwar bei Nichtvorhandensein einer Konstante an, dass der Autor einen String meinte und verwertet es als solchen, jammert dabei aber leise (E_NOTICE) vor sich hin.

              echo "$verabschiedung $name";