Ошибка http 500 internal server error

Ошибка http 500 internal server error является ошибкой на стороне веб-сервера, данный код выводится в браузер при  обращении к сайту, также его можно увидеть в логах Apache или Nginx

 
 

Самые распространенные причины ОШИБКИ 500:

  1. неверный синтаксис файла .htaccess. Ошибка в этом случае прямо указана в логе Apache (например, директивы Options -MultiViews или php_value и php_flag при использовании PHP в режиме Fastcgi )
  2. слишком долгая работа скрипта -в настройках веб-сервера установлены лимиты при превышении которых будет отдаваться ошибка 500
  3. недостаточно высокое значение параметра memory_limit в файле php.ini
  4. программные ошибки, формирующие некорректные заголовки HTTP

 

При появлении ошибки 500 нужно включить логирование Apache (если используется Apache), также включить логирование ошибок РНР. Если в error_log Apache информации не будет, искать их стоит в программном коде, здесь и окажутся полезными логи РНР.
 
Логирование РНР включается в php.ini, так же задается путь к логу. При использовании PHP-FPM (в т.ч. с Nginx) директива задается в /etc/php-fpm.d/www.conf — дополнительно лучше включить и вывод ошибок на экран, для этого нужно добавить display_errors = on
 
 

При нехватке скрипту выделяемой для него памяти в логе РНР будут содержаться сообщения вида:
«Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 32 bytes) in /home/example.com/www/wp-includes/pomo/streams.php on line 110»

В этом случае нужно увеличить значение memory_limit в файле с настройками php.ini