Я недавно заметил на своем веб-сайте WordPress, я иногда получаю 500 Internal Server Error , Я проверил журналы и у меня есть много линий, таких как:WordPress Неустранимая ошибка: допустимый размер памяти 536870912 байт исчерпан (пытался выделить 77 байт) в wp-includes/wp-db.php в строке 1832
[Mon Oct 03 01:25:24.357439 2016] [fcgid:warn] [pid 12840] [client 83.27.211.107:36968] mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 77 bytes) in /var/www/vhosts/mywebsite/public_html/wp-includes/wp-db.php on line 1832
Я попытался увеличить лимит памяти:
define('WP_MAX_MEMORY_LIMIT' , '512M');
define('WP_MEMORY_LIMIT' , '512M');
И еще больше, но это не сработало. Независимо от того, что я установил, он все еще превышает пределы памяти на некоторые байты. Я думаю, что есть проблема с некоторыми запросами в базе данных, но как проверить, какой?
Содержание включает/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;
}
так что спросите себя ** ПОЧЕМУ ** вам нужно кэшировать 500 + мегабайт данных в ram. Если у вас есть, то ваш выбор состоит в том, чтобы либо повысить/удалить ограничение памяти, либо перестроить вашу систему, чтобы вам не понадобилось столько материала в памяти одновременно. В противном случае вы в основном спрашиваете: «Я налил 10 литров воды в 1-литровое ведро, и он переполнился, как я могу держать его в форме переполненным?» –
Ваш собственный сервер или веб-хостинг? – markratledge
@MarcB, вы не понимаете. У меня есть ошибка на моем сайте. Это простой сайт WordPress с 5 виджетами, циклом меню и сообщений (20 на страницу). У меня нет идеи, почему это превышение предела памяти вообще. –