Codeigniter zeigt eine leere Seite anstelle von Fehlermeldungen an

Lesezeit: 6 Minuten

Codeigniter zeigt eine leere Seite anstelle von Fehlermeldungen an
Fliegende Katze

Ich verwende Codeigniter und erhalte statt Fehlermeldungen nur eine leere Seite. Gibt es eine Möglichkeit, stattdessen PHP-Fehlermeldungen anzuzeigen? Es ist sehr schwer zu debuggen, wenn ich kein Feedback bekomme.

Meine Umgebung ist Ubuntu mit Apache.

  • Wie wäre es, wenn Sie Details zu Ihrer Umgebung angeben? Meine Vermutung ist, dass es auf Windows mit IIS ..?

    – Jakob

    6. März 2012 um 16:11 Uhr

  • Nein, ich habe Ubuntu mit Apache.

    – FlyingCat

    6. März 2012 um 16:25 Uhr

  • Aktualisieren Sie dann bitte auf jeden Fall Ihre Frage mit relevanten Details, da meine Vermutung falsch war.

    – Jakob

    6. März 2012 um 16:44 Uhr

  • @FlyingCat – Mir ist aufgefallen, dass Sie noch keine Antwort akzeptieren müssen. Ich hatte das gleiche Problem, vielleicht war meine Lösung diejenige, die letztendlich für Sie funktioniert hat?

    – ausweichen

    27. Juni 2014 um 17:16 Uhr

  • Verwenden Sie den mysqli-Treiber anstelle von mysql in der database.php

    – Sam

    7. Juni 2017 um 15:19 Uhr

1646316251 359 Codeigniter zeigt eine leere Seite anstelle von Fehlermeldungen an
Wesley Murch

Da bisher keine der Lösungen für Sie zu funktionieren scheint, versuchen Sie diese:

ini_set('display_errors', 1);

http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors

Dies weist PHP explizit an Anzeige Die Fehler. In einigen Umgebungen kann dies standardmäßig deaktiviert sein.

So sehen meine Umgebungseinstellungen aus index.php:

/*
 *---------------------------------------------------------------
 * APPLICATION ENVIRONMENT
 *---------------------------------------------------------------
 */
define('ENVIRONMENT', 'development');
/*
 *---------------------------------------------------------------
 * ERROR REPORTING
 *---------------------------------------------------------------
 */
if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            // Report all errors
            error_reporting(E_ALL);

            // Display errors in output
            ini_set('display_errors', 1);
        break;

        case 'testing':
        case 'production':
            // Report all errors except E_NOTICE
            // This is the default value set in php.ini
            error_reporting(E_ALL ^ E_NOTICE);

            // Don't display errors (they can still be logged)
            ini_set('display_errors', 0);
        break;

        default:
            exit('The application environment is not set correctly.');
    }
}

  • +1, weil a) Ihre Lösung funktioniert und b) der UhOh-Hook ein sehr hilfreiches Dienstprogramm zur Fehlerbehandlung für CI ist.

    – Schuhlos

    12. August 2012 um 13:53 Uhr

  • Fantastisch. Das sollte Teil ihres Kerncodes sein. Um die Anzeige von Fehlern tatsächlich einzuschalten. Wer hätte gedacht?

    – racl101

    9. Dezember 2014 um 17:03 Uhr

  • Danke! der Fehlerbericht wird mit diesem detaillierter

    – Vince Osana

    16. Januar 2018 um 6:18 Uhr

  • Du rettest mich! tks

    – Elirigobeli

    11. Mai 2018 um 15:56 Uhr

  • Danke .. Sie haben meinen ganzen Tag und meine kostbare Zeit gespart. sehr geehrter.

    – Dhaval Thakor

    6. Juni 2018 um 6:24 Uhr

Versicher dich php5-mysql ist installiert.

  • Ich bin auf das gleiche Problem gestoßen und habe nach 20 Minuten Debugging (unter Verwendung der in anderen Antworten vorgestellten Tipps) herausgefunden, dass CodeIgniter eine leere Seite bereitstellt, nur weil php5-mysql fehlt. Ich hoffe also, dass meine Antwort jemandem Zeit spart.

    – Alexanderlukanin13

    17. Februar 2014 um 12:37 Uhr

  • Ich habe das gleiche Problem ein paar Mal begegnet. Codeigniter braucht wirklich einen Patch für dieses Verhalten. Tatsächlich werde ich ihr Repo ziehen und es mir selbst ansehen. +1 für Sie, mein Herr.

    – Eric Uldall

    24. Februar 2014 um 18:45 Uhr

  • Obwohl es nicht GENAU mein Problem war, war es doch sehr eng damit verbunden. Stellen Sie für Windows-Benutzer sicher, dass Sie Ihren php- und php\ext-Ordner in Ihre PATH-Variable aufnehmen und dann Apache neu starten….

    – baumeln

    14. Juli 2014 um 3:36 Uhr

  • +1 an alexander und danke. Dasselbe Problem hier bei der Installation für LLMP (Lighttpd, Mariadb). Sie werden für einen Moment abgelenkt und geben “sudo apt-get install php5-cgi” ein und verpassen “php5-mysql”. Schade, dass es nichts gibt, was Ihnen sagen könnte, was gerade passiert ist, wenn Sie nicht bereits ein einfaches Nicht-Codeigniter-PHP5-Datenbankbeispiel haben, das Sie bereits ausführen können.

    – Schnitzel

    6. September 2014 um 11:39 Uhr

  • Du hast meinen Tag gerettet ! Vielen Dank.

    – Vinzenz Decaux

    11. November 2014 um 8:52 Uhr

Codeigniter zeigt eine leere Seite anstelle von Fehlermeldungen an
MauricioRobayo

Ich hatte das gleiche Problem und wie Shayan Husaini betonte, hatte ich einen unentdeckten Syntaxfehler.

Ich habe es mit dem PHP-Linter im Terminal gelöst:

php -l file.php

Sie können auch so etwas verwenden, um den Linter in jeder Datei in einem Ordner zu verwenden:

find -type f -name "*.php" -exec php -l '{}' \;

Und um nur die mit Fehlern zu filtern:

find -type f -name "*.php" -exec php -l '{}' \; | grep '^[^N]'

Das sollte Dateien mit Parsing-Fehlern und die Zeile, in der sich der Fehler befindet, anzeigen.

  • Möglicherweise müssen Sie den *.php-Teil zitieren find -type f -name '*.php' -exec php -l '{}' \; | grep '^[^N]'

    – realgt

    22. Juli 2014 um 14:55 Uhr


  • Geniale Lösung, Kumpel, das hat bei mir perfekt funktioniert

    – Karl

    21. Juli 2019 um 0:12 Uhr

  • Dies war am Ende die beste Option. Am Ende habe ich eine PHP-Lint-Erweiterung in Atom installiert und sie hat alles geändert.

    – cdsaenz

    3. August 2020 um 19:42 Uhr

Dieses Verhalten tritt auf, wenn Sie einen grundlegenden PHP-Syntaxfehler in Ihrem Code haben. Falls Sie Syntaxfehler haben, analysiert der PHP-Parser den Code nicht vollständig und zeigt nichts an, sodass alle obigen Vorschläge nur funktionieren würden, wenn Sie andere als Syntaxfehler haben.

Sie können es in der Hauptindex.php festlegen

    define('ENVIRONMENT', 'development');
/*
 *---------------------------------------------------------------
 * ERROR REPORTING
 *---------------------------------------------------------------
 *
 * Different environments will require different levels of error reporting.
 * By default development will show errors but testing and live will hide them.
 */

if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            error_reporting(E_ALL);
        break;

    case 'testing':
    case 'production':
        error_reporting(0);
    break;

    default:
        exit('The application environment is not set correctly.');
}
}

  • Danke, ich habe diesen Code bereits, als ich meine index.php geöffnet habe. Nicht sicher, warum der Fehler nicht angezeigt wird. +1 obwohl.

    – FlyingCat

    6. März 2012 um 16:12 Uhr

  • Versuchen Sie, denselben Code in jeden verwendeten und getesteten Controller einzufügen. Auf diese Weise sollten Sie sehen, wo der Fehler liegt

    – Christian Giupponi

    6. März 2012 um 16:20 Uhr

  • Ja, aber es ist nicht sehr effizient, ich wünschte nur, die PHP-Fehlerbehandlung würde funktionieren.

    – FlyingCat

    6. März 2012 um 18:47 Uhr

1646316252 992 Codeigniter zeigt eine leere Seite anstelle von Fehlermeldungen an
Ulrich Schwarz

Das passiert mir, wenn ich Dinge in autoload.php wie die ‘Datenbank’ automatisch lade

Um dies zu beheben, wenn Sie das Windows-Betriebssystem verwenden

  1. Öffnen Sie Ihre php.ini. Diese Zeile suchen und auskommentieren – extension=php_mysql.dll

    (Bitte überprüfen Sie auch, ob die PHP-Direktive darauf verweist, wo sich Ihre Erweiterungen befinden.
    Meins ist extension_dir = "C:\php-5.4.8-Win32-VC9-x86\ext")

  2. Starten Sie Apache neu und aktualisieren Sie Ihre Seite

  • Danke, ich habe diesen Code bereits, als ich meine index.php geöffnet habe. Nicht sicher, warum der Fehler nicht angezeigt wird. +1 obwohl.

    – FlyingCat

    6. März 2012 um 16:12 Uhr

  • Versuchen Sie, denselben Code in jeden verwendeten und getesteten Controller einzufügen. Auf diese Weise sollten Sie sehen, wo der Fehler liegt

    – Christian Giupponi

    6. März 2012 um 16:20 Uhr

  • Ja, aber es ist nicht sehr effizient, ich wünschte nur, die PHP-Fehlerbehandlung würde funktionieren.

    – FlyingCat

    6. März 2012 um 18:47 Uhr

1646316253 997 Codeigniter zeigt eine leere Seite anstelle von Fehlermeldungen an
Gemeinschaft

Ich hatte vor ein paar Tagen das gleiche Problem. Meine Entwicklungsumgebung ist Win8 und die Website funktionierte einwandfrei, aber als ich die Dateien auf den Produktionsserver (Linux) hochlud, wurde eine leere Seite angezeigt.

Stellt sich heraus Die Dateinamen von Modellen und Controllern sollten mit einem Großbuchstaben beginnen.

Die Datei muss „Blog.php“ heißen, mit einem großen „B“.

Klassennamen müssen mit einem Großbuchstaben beginnen.

In der Windows-Umgebung spielt dies keine Rolle Windows unterscheidet Groß- und Kleinschreibung nichtaber in der Linux-Umgebung werden die Dateien nicht angezeigt.

Hoffe, ich habe geholfen.

  • Dies hat mein Problem behoben, aber nicht die Antwort auf diese Frage.

    – Lyhong

    24. Juni 2016 um 15:13 Uhr

924130cookie-checkCodeigniter zeigt eine leere Seite anstelle von Fehlermeldungen an

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy