Недавно я заметил, что на моем веб-сайте WordPress иногда появляется ошибка 500 Internal Server Error. Я проверил журналы и обнаружил много таких строк:
[Mon Oct 03 01:25:24.357439 2016] [fcgid:warn] [pid 12840] [client
83.27.211.107:36968] mod_fcgid: stderr: PHP Неустранимая ошибка: исчерпан допустимый размер памяти 536870912 байт (пыталась выделить 77 байт)
в /var/www/vhosts/mywebsite/public_html/wp-includes/wp-db.php в режиме онлайн
1832
Я пытался увеличить лимит памяти:
define( 'WP_MAX_MEMORY_LIMIT' , '512M' );
define( 'WP_MEMORY_LIMIT' , '512M' );
И даже больше, но это не сработало. Независимо от того, что я установил, он все равно превышает лимит памяти на несколько байт. Я думаю, что есть проблема с некоторыми запросами к базе данных, но как их проверить?
Содержимое файла include/wp-db.php:
} else {
$num_rows = 0;
if ( $this->use_mysqli && $this->result instanceof mysqli_result ) {
while ( $row = mysqli_fetch_object( $this->result ) ) {
$this->last_result[$num_rows] = $row;
$num_rows++;
}
} elseif ( is_resource( $this->result ) ) {
// server crashing at line below
while ( $row = mysql_fetch_object( $this->result ) ) {
$this->last_result[$num_rows] = $row;
$num_rows++;
}
}
// Log number of rows the query returned
// and return number of rows selected
$this->num_rows = $num_rows;
$return_val = $num_rows;
}
Подробнее здесь: https://stackoverflow.com/questions/398 ... ed-tried-t