クリーンインストール後にCustomize Your Site
をクリックすると、以下のエラーが表示されます。指定されたファイルで$wp_customize
が誤ってnullになっているようです。インストール全体が成功し、問題に関するドキュメントを見つけるのに苦労しています。
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
サブディレクトリでWordPressを設定する方法に関する記事から、nginx
の設定に誤りがあるようです。
設定前
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;
}
設定後
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;
}
いくつかのコメントで述べたように、いくつかのPHPサーバー変数は、/wp-admin/customize.php
をロードするときに問題を引き起こしているnginx設定の誤りのために誤って設定されていました
/wp-admin/customize.php?wp_customize=on
にアクセスして、致命的なエラーをスローする代わりに動作し始める場合は、nginxの設定がこのシナリオに問題があることを確認できます。