Совсем недавно столкнулся с довольно-таки серьезной проблемой, которая возникла на хостинге. Завел себе несколько почтовых ящиков на этом домене – очень удобно! Но появилась такая ситуация, что при входе на почтовые ящики хостинг ругался, что нет места на диске. Залез к себе на хостинг-аккаунт посмотреть в чем дело, и в самом деле – свободного места на диске почти не осталось. Необходимо было разбираться в чем проблема, потому что вряд ли 3-4 сайта на WordPress будут занимать несколько гигабайт.
Полазав пару часиков по папкам на файловом хостинге обнаружил удивительный файл под названием error_log! Раньше либо я его не замечал, либо этот файл появился относительно недавно. И был во всех моих WordPress сайтах. Оказывается, в этот файл записываются все ошибки, которые есть на сайте: как только посетитель зашел на сайт, в файле прописываются все ошибки, причем запись идет повторная. Считайте, если к вам зашел посетитель и файл error_log вырос на 10 килобайт, то при следующем посетителе он вырастет еще на 10 килобайт и так до тех пор, пока все дисковое пространство вашего хостинга не забьется.
Когда я обнаружил этот файл, он уже весил более 300 Мб! Удалять его можно без проблем, но тогда придется его удалять регулярно, что я и делал до сегодняшнего дня.
Итак, есть несколько путей решения данной проблемы:
- Проанализировать все ошибки с файла error_log и привести в порядок свой блог;
- Удалять постоянно файл error_log;
- Прописать небольшой код в файле wp-config.php.
Первый вариант я тоже сегодня пробовал, но на всех сайтах данную проблему решить очень сложно, причем у меня базовые знания по веб-программированию. Второй вариант мне надоел, причем надо не забывать чистить папки WP-сайтов. Поэтому сегодня пришлось еще погуглить и пару сайтов натолкнули меня на написание нескольких строчек кода, который мне помог в решении проблемы с error_log.
Итак, заходим на свой FTP-аккаунт, ищем файл wp-config.php.
Находим там строчки:
define(‘AUTH_KEY’, ‘впишите сюда уникальную фразу’);
define(‘SECURE_AUTH_KEY’, ‘впишите сюда уникальную фразу’);
define(‘LOGGED_IN_KEY’, ‘впишите сюда уникальную фразу’);
define(‘NONCE_KEY’, ‘впишите сюда уникальную фразу’);
define(‘AUTH_SALT’, ‘впишите сюда уникальную фразу’);
define(‘SECURE_AUTH_SALT’, ‘впишите сюда уникальную фразу’);
define(‘LOGGED_IN_SALT’, ‘впишите сюда уникальную фразу’);
define(‘NONCE_SALT’, ‘впишите сюда уникальную фразу’);
и затем после них прописываем:
define(‘WP_DEBUG’, false); // debugging mode: ‘true’ = enable; ‘false’ = disable
@ini_set(‘log_errors’,’Off’);
Проблема решена, файл error_log чудесным образом исчезнет! 😀
Если вы все же хотите, чтобы записи ошибок были для дальнейшего их анализа вами на досуге, тогда необходимо прописать вместо этого следующий код:
define(‘WP_DEBUG’, true); // debugging mode: ‘true’ = enable; ‘false’ = disable
@ini_set(‘log_errors’,’On’);
@ini_set(‘display_errors’,’Off’);
@ini_set(‘error_log’,’/home/path/domain/logs/php_error.log’);
Последняя строчка – адрес на вашем хостинге, куда записывать файл error_log. На этом все, мыслить шире мои знания в веб-программировании не позволяют 😀 Всем удачи в сайтостроении!