Поддержка Проблемы и решения Ошибки при попытке сохранить изменения WP

  • Решено vpr2k1

    (@vpr2k1)


    Здравствуйте, передали в работу сайт на котором установлен и настроил WP, купленная тема Sailent, в ней встроенный плагин WPbakery, c wpbakery работаю давно, не думаю, что проблема именно в нем, но тем не менее — при попытке сохранить какие либо изменения в редакторе (backend или frontend) получаю ряд ошибок. При создании сайта проблем небыло, возникли (якобы) при переносе на хостинг
    Права проверил, версия пхп откатил до 7.1 (более ранние тоже пробовал — не помогло)

    Warning: preg_match() expects parameter 2 to be string, array given in /home/patent189/patent189.ru/docs/wp-includes/class-wp-block-parser.php on line 417
    
    Warning: strlen() expects parameter 1 to be string, array given in /home/patent189/patent189.ru/docs/wp-includes/class-wp-block-parser.php on line 489
    
    Warning: preg_match() expects parameter 2 to be string, array given in /home/patent189/patent189.ru/docs/wp-includes/class-wp-block-parser.php on line 417
    
    Warning: strlen() expects parameter 1 to be string, array given in /home/patent189/patent189.ru/docs/wp-includes/class-wp-block-parser.php on line 489
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/patent189/patent189.ru/docs/wp-includes/class-wp-block-parser.php:417) in /home/patent189/patent189.ru/docs/wp-admin/post.php on line 231
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/patent189/patent189.ru/docs/wp-includes/class-wp-block-parser.php:417) in /home/patent189/patent189.ru/docs/wp-includes/pluggable.php on line 1296
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/patent189/patent189.ru/docs/wp-includes/class-wp-block-parser.php:417) in /home/patent189/patent189.ru/docs/wp-includes/pluggable.php on line 1299

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Anonymous User 17440952

    (@anonymized-17440952)

    Привет @vpr2k1,

    Проверьте файл wp-config.php и строку define('WP_DEBUG', false); то режим отладки должен быть отключен, потом у вас не ошибки а предупреждения и их можно отключить в настройках php (файл на сервере php.ini) и в нем надо указать display_errors = off но это отключение ошибок вывода на экран, но думаю в лог файл их бы оставить все таки писаться чтобы потом в случае ошибки можно было их найти и понять в чем проблема

    Пример в php.ini

    display_errors              = Off
    error_reporting              = E_ALL & ~E_NOTICE
    error_log                    = "ваш_путь_где_будет_лежать_файл_с_ошибками_error.log"

    Либо можете еще указать вот эти строки в файле wp-config.php, но тогда на сервере ничего не меняйте в php.ini

    ini_set('log_errors','On');
    ini_set('display_errors','Off');
    ini_set('error_reporting', E_ALL );
    define('WP_DEBUG', false);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    файл с логами в папке или в подпапках wp-content должен быть, точно не помню где именно

    и файл этот лучше скрыть от лишних глаз (путь по которому он будет доступен только вам)

    • Ответ изменён 1 год назад пользователем Anonymous User 17440952.
    • Ответ изменён 1 год назад пользователем Anonymous User 17440952.
    Автор vpr2k1

    (@vpr2k1)

    Спасибо Вам огромное за ответ, внес указанные вами изменения — и это помогло! Я гуглил неделю прежде чем тут запостить, пробовал разные малопонятные мне варианты и ничего не работало, а тут — победа! спасибо Вам огромное!

    Автор vpr2k1

    (@vpr2k1)

    Добавляю для точности

    define(‘WP_DEBUG’, false); — уже был указан

    соответственно внес в wp config
    ini_set(‘log_errors’,’On’);
    ini_set(‘display_errors’,’Off’);
    ini_set(‘error_reporting’, E_ALL );
    define(‘WP_DEBUG_LOG’, true);
    define(‘WP_DEBUG_DISPLAY’, false);

    Anonymous User 17440952

    (@anonymized-17440952)

    Если тема решена — ставьте решено. Вы нашли там файл в какое место ошибки php писаться будут, где их можно будет посмотреть потом (в случае чего). Ну это так на всякий случай.

    • Ответ изменён 1 год назад пользователем Anonymous User 17440952.
    Автор vpr2k1

    (@vpr2k1)

    В инструкциях описано, что файл debug.log должен находиться в wp content, но файла там нет
    Но как я выше писал define(‘WP_DEBUG’, false); уже был прописан в конфиге

    Или еще должен быть какой-то файл?

    На большинстве хостингов файл error_log формируется в корне сайта автоматически. На вашем хостинге такой файл не формируется?

    Модератор Юрий

    (@yube)

    файл error_log формируется в корне сайта

    Бежать с таких хостингов надо. На нормальных хостингах для логов отдельная директория, недоступная «с улицы».

    Модератор Yui

    (@fierevere)

    ゆい

    На большинстве хостингов файл error_log формируется в корне сайта

    🤦‍♀️

    Может быть это можно изменить в настройках хостинга, я не заморачивался этим вопросом. Кому интересно читать чужие ошибки? Неужели хакеры этим интересуются?

    Модератор Yui

    (@fierevere)

    ゆい

    Возможно это будет несколько оффтопиком для этой темы…
    Но, все равно полезно узнать будет

    Взломы делятся на

    А. Автоматические.
    Есть бот или ботнет, в него занесены скрипты проверяющие конкретные уязвимости, везде, неважно, есть на целевом сайте эта дыра или нет.
    Если бот находит дыру, совершается взлом, сайт становится частью ботнета, или на него устанавливается автоматически иное вредоносное ПО. Хозяевам ботнета обычно все равно что за сайт, берут исключительно количеством.

    Б. Ручной.
    Ломают конкретный сайт, под заказ. Сбор информации является важным этапом такого взлома. А если логи лежат в открытом доступе — это ж царский подарок в плане информации о сайте.

    PS: у меня логи вообще лежат вне chroot-контейнера в котором работает сайт.
    Когда-то достаточно давно, по забывчивости сайтовладельца один из сайтов был взломан, во-первых, в логах была вся активность взломщика, его действия было достаточно легко проследить, во-вторых, одним из первоочередных его действией было найти логи и уничтожить их, что конечно же ему не удалось.

    • Ответ изменён 1 год назад пользователем Yui.
    Автор vpr2k1

    (@vpr2k1)

    ни error.log ни debug.log (за который, на сколько я понял и отвечает define(‘WP_DEBUG’, false); — не наблюдается

    Если установите 1 из тем по умолчанию ошибки наблюдаются? Если с темой по умолчанию все нормально, тогда трясите продавца темы, которую Вы купили.

    Автор vpr2k1

    (@vpr2k1)

    Вы про ошибки указанные в первом сообщении? После предпринятых с вашей помощью действий — ошибки не появляются, но файлов логгирования никаких нету ни error.log ни debug.log (при define(‘WP_DEBUG’, false) лог должен быть?);

    Вы спрашивали у службы поддержки хостинга где сохраняются логи ошибок?

    Автор vpr2k1

    (@vpr2k1)

    Да, поддержка подсказала где лежат логи вебсервера

    файл error.log имеет такие последние записи

    [Sat Sep 05 17:26:54.721599 2020] [mpm_prefork:notice] [pid 1042] AH00170: caught SIGWINCH, shutting down gracefully
    [Sat Sep 05 17:28:13.680881 2020] [mpm_prefork:notice] [pid 1046] AH00163: Apache/2.4.41 (Ubuntu) PHP/7.2.31 configured -- resuming normal operations
    [Sat Sep 05 17:28:13.680952 2020] [core:notice] [pid 1046] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
    [Sat Sep 05 18:11:46.296524 2020] [mpm_prefork:notice] [pid 1046] AH00170: caught SIGWINCH, shutting down gracefully
    [Sat Sep 05 18:12:22.221179 2020] [mpm_prefork:notice] [pid 1050] AH00163: Apache/2.4.41 (Ubuntu) PHP/7.2.31 configured -- resuming normal operations
    [Sat Sep 05 18:12:22.221252 2020] [core:notice] [pid 1050] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
    [Sat Sep 05 18:35:13.601615 2020] [mpm_prefork:notice] [pid 1050] AH00170: caught SIGWINCH, shutting down gracefully
    [Sat Sep 05 18:35:33.699491 2020] [mpm_prefork:notice] [pid 1054] AH00163: Apache/2.4.41 (Ubuntu) PHP/7.2.31 configured -- resuming normal operations
    [Sat Sep 05 18:35:33.699557 2020] [core:notice] [pid 1054] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'

    как я понимаю к ошибкам php и WP (у которого насколько я понял должен быть свой лог) это никакого отношения не имеет, верно?

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Тема «Ошибки при попытке сохранить изменения WP» закрыта для новых ответов.