Фатальная ошибка в wp-admin/customize.php после свежей установки из-за нулевого значения $wp_customize

Вопрос или проблема

Я получаю следующую ошибку при нажатии на Настроить ваш сайт после чистой установки. Похоже, что $wp_customize неправильно равен null в указанном файле? Вся установка прошла успешно, и мне сложно найти документацию по этой проблеме.

Фатальная ошибка: необработанная ошибка: Вызов функции члена changeset_post_id() на null в /home/<user>/blog/wp-admin/customize.php:29 Стек вызовов: #0 {main} выброшено в /home/<user>/blog/wp-admin/customize.php на строке 29

Похоже, я получил неправильную конфигурацию nginx из статьи о том, как настроить WordPress в подкаталоге.

Конфигурация до

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;
        # Удалил эту строку
        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;

        # Добавил эту строку
        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 были неправильно заданы из-за неправильной конфигурации nginx, что вызывало проблемы при загрузке /wp-admin/customize.php.

Вы можете подтвердить, что ваша конфигурация nginx неверна для этого сценария, если вы посетите /wp-admin/customize.php?wp_customize=on, и это начнет работать вместо того, чтобы выдать фатальную ошибку.

Нашёл ошибку в конфигурации nginx.

найти код:
fastcgi_param PATH_INFO $document_root$fastcgi_script_name;
заменить на:
fastcgi_param PATH_INFO $fastcgi_path_info;

Сайт заработал без ошибок. Моя проблема решена.

Ответ или решение

Решение проблемы с Fatal Error в wp-admin/customize.php после чистой установки WordPress

При установке WordPress и попытке доступа к секции «Настройка вашего сайта» возникает ошибка:

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

Эта ошибка возникает из-за того, что переменная $wp_customize оказывается равной null, что нарушает выполнение сценария. Давайте разберемся с причиной этого поведения и тем, как это можно исправить.

Причина проблемы

Неправильная настройка Nginx

Предполагаемая основная причина возникновения этой ошибки связана с некорректной конфигурацией вашего веб-сервера Nginx. Ваша первоначальная конфигурация не устанавливает необходимые PHP-серверные параметры, что приводит к проблемам при попытке загрузить страницу /wp-admin/customize.php.

В частности, переменные окружения для FastCGI были неправильно настроены, что серьезно сказывается на том, как Nginx передает запросы PHP. Ваша конфигурация включала настройку:

fastcgi_param SCRIPT_FILENAME $request_filename;

Однако для полноценной работы WordPress, эта строка должна быть настроена следующим образом:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Шаги для исправления конфигурации

  1. Измените параметры FastCGI: Убедитесь, что вы правильно настраиваете параметры FastCGI, как указано выше. Добавьте строку, которая гарантирует, что файл исполняемого скрипта PHP будет правильно определен Nginx.

  2. Обновите следующие параметры: Также было замечено, что переменная PATH_INFO была неправильно настроена. Вместо:

fastcgi_param PATH_INFO $document_root$fastcgi_script_name;

используйте:

fastcgi_param PATH_INFO $fastcgi_path_info;

Эти изменения помогут Nginx корректно обрабатывать запросы к файлам PHP.

  1. Перезагрузите Nginx: После внесения изменений в конфигурацию Nginx убедитесь, что вы перезагрузили веб-сервер:
sudo systemctl restart nginx

Дополнительные проверки

Для проверки того, была ли исправлена проблема, вы можете посетить следующий URL:

/wp-admin/customize.php?wp_customize=on

Если страница загружается без ошибок, это свидетельствует о том, что проблема действительно заключалась в неправильной конфигурации Nginx.

Заключение

Проблема с ошибкой Fatal в файле /wp-admin/customize.php после установки WordPress во многом связана с настройками вашего веб-сервера. Основное внимание следует уделить правильной настройке параметров FastCGI Nginx. С внесенными изменениями вы сможете успешно использовать возможности настройки WordPress без дальнейших ошибок.

Если у вас остались вопросы или требуется дополнительная помощь по настройке, не стесняйтесь обращаться на специализированные форумы или к профессиональным разработчикам.

Оцените материал
Добавить комментарий

Капча загружается...