• Gelöst philipp2208

    (@philipp2208)


    Hi,

    ich habe mir eine lokale Entwicklungsumgebung mit LAMPP in Ubuntu eingerichtet und versuche nun Möglichkeiten zum Debugging zu finden. Ich habe in der wp.config.php bzw. der wp-config-sample.php Datei alles notwendige zum Debugging aktiviert also:

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true);
    define( 'WP_DEBUG_LOG', true );
    define( 'SCRIPT_DEBUG', true );

    kann aber keine debug.log Datei finden. Woran könnte das denn liegen?

    danke,

    Philipp

    Moderatorenhinweis: Bitte Quellcode als ‘Code’ auszeichnen.

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 18)
  • Hallo,
    schau mal, ob du im Ordner /wp-content/ die Datei debug.log hast.
    In der wp-config-sample.php brauchst du das nicht zu ändern – das ist nur die Vorlage. Es reicht also die Änderung in der wp.config.php
    Viele Grüße
    Hans-Gerd

    Thread-Starter philipp2208

    (@philipp2208)

    danke für die Nachricht, leider nein… Bei mir sind die ganzen „define“ Definitionen in der wp-config-sample Datei, deshalb habe ich das dort dazu geschrieben. Ich habe in Ubuntu noch eine Datei in einem anderen Ordner, die config-localhost.php Datei. Muss ich das evtl .dort rein schreiben?

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Die wp-config-sample.php ist nur ein Muster (engl. sample), wie die Konfigurations-Datei wp-config.php aussehen könnte. Falls du mal versehentlich die wp-config.php löschst, kannst du die Datei rasch kopieren, die Zugangsdaten der Datenbank und das Tabellen-Präfix reinschreiben und alles sollte wieder laufen. Ansonsten bleiben Änderungen an der Datei ohne Folgen.

    Wenn du einen Debug-Log ausgeben möchtest, musst du die Änderungen in der wp-config.php eingeben und die Datei mit touchwp-content/debug.loganlegen und dem Benutzer mit Rechten für den Webserver mitchown www-data:www-data wp-content/debug.log` zuweisen.

    Thread-Starter philipp2208

    (@philipp2208)

    ok. habe ich gemacht, allerdings bleibt die debug.log Datei leer auch wenn ich die Seite neu lade.

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Gibt es denn aktuell PHP-Fehler?

    Thread-Starter philipp2208

    (@philipp2208)

    Ja, „there has been a critical error on your website“.

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    „has been“ ist Vergangenheitsform. 🙂
    Du müsstest schon genau das Szenario reproduzieren, unter dem der Fehler aufgetreten ist, falls die Website nicht akut betroffen ist (z.B. White Screen of Death).

    Du kannst ja die Debug-Meldungen auch erst einmal im Browser ausgeben – für einen kurzen Moment werden sich wohl nicht zu viele daran stören. Langfristig sieht das natürlich unschön aus und liefert Angreifern unnötig Informationen zu möglichen Schwachstellen.

    Wobei mit

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true);

    die Fehler bereits im Browser ausgegeben werden sollten.

    Du hast das oberhalb von /* That's all, stop editing! Happy blogging. */ eingetragen?

    Thread-Starter philipp2208

    (@philipp2208)

    /* That’s all, stop editing! Happy blogging. */ taucht bei mir nur in der wp-config-sample.php auf und nicht in der wp-config.php. Hier mal die beiden Dateien:

    wp-config.php

    <?php
    /***
     * WordPress's Debianised default master config file
     * Please do NOT edit and learn how the configuration works in
     * /usr/share/doc/wordpress/README.Debian
     ***/
    
    /* Look up a host-specific config file in
     * /etc/wordpress/config-<host>.php or /etc/wordpress/config-<domain>.php
     */
    $debian_server = preg_replace('/:.*/', "", $_SERVER['HTTP_HOST']);
    $debian_server = preg_replace("/[^a-zA-Z0-9.\-]/", "", $debian_server);
    $debian_file = '/etc/wordpress/config-'.strtolower($debian_server).'.php';
    /* Main site in case of multisite with subdomains */
    $debian_main_server = preg_replace("/^[^.]*\./", "", $debian_server);
    $debian_main_file = '/etc/wordpress/config-'.strtolower($debian_main_server).'.php';
    
    if (file_exists($debian_file)) {
        require_once($debian_file);
        define('DEBIAN_FILE', $debian_file);
    } elseif (file_exists($debian_main_file)) {
        require_once($debian_main_file);
        define('DEBIAN_FILE', $debian_main_file);
    } elseif (file_exists("/etc/wordpress/config-default.php")) {
        require_once("/etc/wordpress/config-default.php");
        define('DEBIAN_FILE', "/etc/wordpress/config-default.php");
    } else {
        header("HTTP/1.0 404 Not Found");
        echo "Neither <b>$debian_file</b> nor <b>$debian_main_file</b> could be found. <br/> Ensure one of them exists, is readable by the webserver and contains the right password/username.";
        exit(1);
    }
    
    /* Default value for some constants if they have not yet been set
       by the host-specific config files */
    if (!defined('ABSPATH'))
        define('ABSPATH', '/usr/share/wordpress/');
    if (!defined('WP_CORE_UPDATE'))
        define('WP_CORE_UPDATE', false);
    if (!defined('WP_ALLOW_MULTISITE'))
        define('WP_ALLOW_MULTISITE', true);
    if (!defined('DB_NAME'))
        define('DB_NAME', 'wordpress');
    if (!defined('DB_USER'))
        define('DB_USER', 'wordpress');
    if (!defined('DB_HOST'))
        define('DB_HOST', 'localhost');
    if (!defined('WP_CONTENT_DIR') && !defined('DONT_SET_WP_CONTENT_DIR'))
        define('WP_CONTENT_DIR', '/var/lib/wordpress/wp-content');
    
    /* Default value for the table_prefix variable so that it doesn't need to
       be put in every host-specific config file */
    if (!isset($table_prefix)) {
        $table_prefix = 'wp_';
    }
    
    if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
        $_SERVER['HTTPS'] = 'on';
    
    require_once(ABSPATH . 'wp-settings.php');
    
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true);
    define( 'WP_DEBUG_LOG', true );
    define( 'SCRIPT_DEBUG', true );
    
    ?>

    wp-config-sample.php

    <?php
    /**
     * The base configuration for WordPress
     *
     * The wp-config.php creation script uses this file during the
     * installation. You don't have to use the web site, you can
     * copy this file to "wp-config.php" and fill in the values.
     *
     * This file contains the following configurations:
     *
     * * MySQL settings
     * * Secret keys
     * * Database table prefix
     * * ABSPATH
     *
     * @link https://codex.wordpress.org/Editing_wp-config.php
     *
     * @package WordPress
     */
    
    // ** MySQL settings - You can get this info from your web host ** //
    /** The name of the database for WordPress */
    
    define( 'DB_NAME', 'database_name_here' );
    
    /** MySQL database username */
    define( 'DB_USER', 'username_here' );
    
    /** MySQL database password */
    define( 'DB_PASSWORD', 'password_here' );
    
    /** MySQL hostname */
    
    define( 'DB_HOST', 'localhost' );
    
    /** Database Charset to use in creating database tables. */
    define( 'DB_CHARSET', 'utf8' );
    
    /** The Database Collate type. Don't change this if in doubt. */
    define( 'DB_COLLATE', '' );
    
    define('FS_METHOD','direct');
    define("FTP_HOST", "localhost");
    define("FTP_USER", "admin");
    define("FTP_PASS", "1234");
    
    /**#@+
     * Authentication Unique Keys and Salts.
     *
     * Change these to different unique phrases!
     * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
     * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
     *
     * @since 2.6.0
     */
    define( 'AUTH_KEY',         'put your unique phrase here' );
    define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
    define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
    define( 'NONCE_KEY',        'put your unique phrase here' );
    define( 'AUTH_SALT',        'put your unique phrase here' );
    define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
    define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
    define( 'NONCE_SALT',       'put your unique phrase here' );
    
    /**#@-*/
    
    /**
     * WordPress Database Table prefix.
     *
     * You can have multiple installations in one database if you give each
     * a unique prefix. Only numbers, letters, and underscores please!
     */
    $table_prefix = 'wp_';
    
    /**
     * For developers: WordPress debugging mode.
     *
     * Change this to true to enable the display of notices during development.
     * It is strongly recommended that plugin and theme developers use WP_DEBUG
     * in their development environments.
     *
     * For information on other constants that can be used for debugging,
     * visit the Codex.
     *
     * @link https://codex.wordpress.org/Debugging_in_WordPress
     */
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true);
    define( 'WP_DEBUG_LOG', true );
    define( 'SCRIPT_DEBUG', true );
    
    /* That's all, stop editing! Happy publishing. */
    
    /** Absolute path to the WordPress directory. */
    if ( ! defined( 'ABSPATH' ) ) {
    	define( 'ABSPATH', dirname( __FILE__ ) . '/' );
    }
    
    /** Sets up WordPress vars and included files. */
    require_once( ABSPATH . 'wp-settings.php' );
    • Diese Antwort wurde geändert vor 4 Jahren, 5 Monaten von Bego Mario Garde. Grund: Code-Formatierung korrigiert
    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Manchmal wünsche ich mir, Forenteilnehmende würden auch nur ansatzweise kapieren, wieviel zusätzliche Arbeit sie hier mit unformatiertem Code verursachen. Wieder über zehn Minuten vertrödelt, weil jemand nicht in der Lage war, Code zu markieren und auf einen Button [CODE] zu klicken:

    Formatierungs-Button CODE

    Wie auch immer – anscheinend hast du WordPress als Debian-Paket installiert und die wp-config.php wird über eine Installations-Routine des Paketmanagers aufgesetzt. Dagegen ist nichts einzuwenden, es erklärt aber wieso die Zeile /* That's all, stop editing! Happy blogging. */ in deiner Konfigurationsdatei nicht vorhanden ist.

    Thread-Starter philipp2208

    (@philipp2208)

    Ok. sorry. Nächstes mal mit der Code Taste. Was heisst das denn jetzt und wie kriege ich den Debug-Mechanismus zum Laufen?

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    In einfacher Sprache:

    Die wp-config.php hast nicht du erstellt.
    Die wp-config.php kommt aus einem Debian-Paket.
    Deshalb sieht die wp-config.php ein bisschen anders aus, als sonst.
    Das ist aber OK.

    Mit deinem Eintrag solltest du bereits Debug-Mitteilungen sehen.

    Du kannst aber auch das Plugin WP Debugging installieren.

    Thread-Starter philipp2208

    (@philipp2208)

    Ok. ich probier es mal mit WP Debugging. Ich habe eine Seite mit einem Child Theme erstellt, die ich jetzt ganz gerne davon unabhängig machen würde und deswegen am schauen, was ich aus dem Parent-Theme an Code übernehmen kann und was ich besser an die Funktionalität meines Themes anpasse. Einfach nur die Meldung Word Press Error ist da zu unspezifisch. Danke aber auf jeden Fall!

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Manchmal helfen auch die Einträge im Error-Log des Webservers.
    Grundsätzlich kannst du Fehler im Child-Theme testen, wenn du zwischen Parent- und Child-Theme wechselst. Das Plugin Query Monitor liefert für Entwickler hilfreiche Informationen, wendet sich aber ausdrücklich nicht an Einsteiger.

    Thread-Starter philipp2208

    (@philipp2208)

    wenn debug.log funktionieren würde wäre das schon super, aber ich hab den Eindruck dass da nichts rein geschrieben wird…

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Stimmen denn die Dateirechte der Datei?

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 18)
  • Das Thema „keine deubug.log datei in lokaler WP-Installation“ ist für neue Antworten geschlossen.