web-dev-qa-db-de.com

Schwerwiegender Fehler in wp-admin/customize.php nach der Neuinstallation aufgrund von null $ wp_customize

Ich erhalte die folgende Fehlermeldung, wenn ich nach einer Neuinstallation auf Customize Your Site klicke. Es scheint, dass $wp_customize in der angegebenen Datei falsch null ist? Die gesamte Installation ist erfolgreich und es fällt mir schwer, eine Dokumentation zu diesem Problem zu finden.

Fatal error: Uncaught Error: Call to a member function changeset_post_id() on null in /home/<user>/blog/wp-admin/customize.php:29 Stack trace: #0 {main} thrown in /home/<user>/blog/wp-admin/customize.php on line 29
1
gopher

Offenbar habe ich in einem Artikel über die Konfiguration von WordPress in einem Unterverzeichnis eine fehlerhafte nginx-Konfiguration erhalten.

Config Before

location @wp {
    rewrite ^/blog(.*) /blog/index.php?q=$1;
}

location ^~ /blog {
    root /home/user;
    index index.php index.html index.htm;
    try_files $uri $uri/ @wp;

    location ~ \.php$ {

        include fastcgi_params;

        fastcgi_index index.php;
        fastcgi_intercept_errors on;
        # Deleted this line
        fastcgi_split_path_info ^(/blog)(/.*)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
    }
    break;
}

Config After

location @wp {
    rewrite ^/blog(.*) /blog/index.php?q=$1;
}

location ^~ /blog {
    root /home/user;
    index index.php index.html index.htm;
    try_files $uri $uri/ @wp;

    location ~ \.php$ {

        include fastcgi_params;

        # Added this line
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_index index.php;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
    }
    break;
}

Wie in einigen Kommentaren erwähnt, wurden einige PHP Servervariablen aufgrund einer fehlerhaften Nginx-Konfiguration falsch gesetzt, was zu Problemen beim Laden von /wp-admin/customize.php führte.

Sie können bestätigen, dass Ihre nginx-Konfiguration für dieses Szenario fehlerhaft ist, wenn Sie /wp-admin/customize.php?wp_customize=on aufrufen und es funktioniert, anstatt einen schwerwiegenden Fehler auszulösen.

1
gopher