Содержание
- PhpMyAdmin error 500 – Here’s the quick and easy fix
- Why to use PhpMyAdmin?
- Reasons for error 500 in PhpMyAdmin
- 1. Missing dependency modules
- 2. Wrong permissions
- 3. PHP configuration limits
- How we fix PhpMyAdmin internal server error?
- 1. Missing modules
- 2. Fixing permissions
- 3. Setting proper PHP limits
- Conclusion
- PREVENT YOUR SERVER FROM CRASHING!
- Vesta Control Panel — Forum
- phpmyadmin blank page Error 500 Ошибка 500 пустая страница
- Ошибка 500 Internal Server Error: разбираемся и устраняем проблему
- 1. Тема оформления
- 1.1. FTP
- 1.2. PhpMyAdmin
- 2. Плагины
- 3. Файл .htaccess
PhpMyAdmin error 500 – Here’s the quick and easy fix
by Sijin George | Apr 13, 2019
PhpMyAdmin allows easy editing of website databases.
But, at times due to missing server modules or wrong permissions, PhpMyAdmin error 500 shows up. PhpMyAdmin will work only after fixing the real problem.
That’s why, we often get requests from customers to fix PhpMyAdmin errors as part of our Technical Support Services.
Today, we’ll see the reasons that cause PhpMyAdmin error 500 and how we fix them.
Why to use PhpMyAdmin?
In internet, a major share of websites work based on the underlying databases. Therefore, website owners often need to modify databases as part of the website management. Unfortunately, managing databases via command line can be a tedious task. That’s where editing databases via PhpMyAdmin helps.
PhpMyAdmin is nothing but a tool that helps to create, manage databases from the browser. Usually, it is secured by a username and password.
Editing database is rather simple in PhpMyAdmin. Obviously, it’s a solution that our Dedicated Engineers often suggest to customers for quick database edits. But, trouble comes when it report errors.
Reasons for error 500 in PhpMyAdmin
From our experience in managing servers, we often see errors with PhpMyAdmin at various stages. It can shows 500 errors while installation or even when users access it to modify databases.
Now, let’s see the main reasons for PhpMyAdmin error 500.
1. Missing dependency modules
PhpMyAdmin utility depends largely on certain PHP modules like php-mbstring, php-gettext, etc. Unfortunately, these modules do not come across with many standard PHP packages.
When doing a fresh installation of PhpMyAdmin, the setup will create all the required PhpMyAdmin files. But, if these related modules are missing on the server, accessing PhpMyAdmin reports “500 Internal Server Error” status code. At times, it can be even a blank page.
2. Wrong permissions
Similarly, wrong permissions of php files can also be a reason for PhpMyAdmin errors. For example, in cPanel servers, wrong permission on the files like /usr/local/cpanel/3rdparty/bin/php, /usr/local/cpanel/3rdparty/bin/php-cgi create problems with PhpMyAdmin. Any permission other than 755 will cause PhpMyAdmin to stop working.
3. PHP configuration limits
Yet another common reason for internal server error in PhpMyAdmin can be PHP limits set in the server. For security reasons, PHP limits the maximum resources a PHP process can use on the server. If any process cross these limits like memory_limit, max_input_vars, etc. it results in the error as shown.
How we fix PhpMyAdmin internal server error?
Till now we saw the top 3 reasons that can result in internal server error in PhpMyAdmin. The solution depends on the root cause for the error. We’ll now check how our Support Engineers fix each of them.
1. Missing modules
Recently, one of customers was getting 500 error during PhpMyAdmin installation on one of his domains. His Ubuntu server had Apache2.4 and PHP 7. When tried to open PhpMyAdmin for the first time, it reported internal server error.
On detailed troubleshooting, our Dedicated Engineers found that couple of PHP modules were missing on the server. Therefore, we installed the missing modules using:
Then we restarted Apache, and PhpMyAdmin started working fine.
2. Fixing permissions
In many cases, fixing permissions will solve the PhpMyAdmin error 500. Here, we check the php binary files and set them with 755 permissions.
Recently, when a Plesk customer attempted to make a change to a database field in phpMyAdmin, the system crashed with 500 Internal Server Error.
Our Support Engineers saw the following records on /var/log/sw-cp-server/error_log file:
Here, the problem happened due to wrong ownership for /var/lib/sw-cp-server/ directory. Therefore, we fixed it by setting correct ownership and permission on the directory using:
3. Setting proper PHP limits
For trouble caused by PHP limits, there will be related entries in the web server log files. Therefore, to fix PhpMyAdmin errors, our Support Engineers always check the log files as the initial step.
For example, when customer tried to open a large table via phpMyAdmin the following error displayed in the logs.
Obviously, from the error log, we could identify that insufficient PHP memory limit was causing the error. Therefore, the fix was to set proper values in the correct php.ini file, followed by a web server restart. The customer was having a Plesk server. So we increased the memory_limit, max_input_vars parameters in the file /usr/local/psa/admin/conf/php.ini.
In cPanel servers, each version of PHP on the server uses its own php.ini file. In such cases, our Dedicated Engineers ensure that we set the limits in the correct php.ini file used by the domain.
[Getting internal server error on PhpMyAdmin? We are here to fix it.]
Conclusion
In a nutshell, PhpMyAdmin error 500 shows up due to missing server modules, wrong permissions, PHP limits and so on. Today, we discussed these reasons in detail and how our Dedicated Engineers fix them and make PhpMyAdmin working.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
Источник
Vesta Control Panel — Forum
phpmyadmin blank page Error 500 Ошибка 500 пустая страница
phpmyadmin blank page Error 500 Ошибка 500 пустая страница
Post by qwerty » Sun Sep 13, 2015 9:55 pm
Ура, наконец то! PROBLEM RESOLVED
просто надо было в файле /etc/php5/apache2/php.ini
memory_limit = 128M
заменить на более большую цифру
например: memory_limit = 512M
как починить phpmyadmin или как импортировать базы данных в формате sql в обход панели vestacp через консольные команды
после распаковки бекапа перестал открываться phpmyadmin
версия phpmyadmin на старом хостинге:
Информация о версии: 3.4.11.1deb2+deb7u1
версию на новом хосте не могу сказать, ибо не знаю где смотреть
имею debian 7 установленой на virtualbox подключенную к интернету через сетевой мост.
вручную положил файл admin.2015-09-07.tar в /home/backup
набрал команду
v-restore-user admin admin.2015-09-07.tar
установилось не сразу
исправил пару ошибок возникающих из за apache2 и паролем от mysql
в итоге все все установилось.
root@debian:# v-restore-user admin admin.2015-09-07.tar
— WEB —
2015-09-14 00:09:23 default.domain
— DNS —
2015-09-14 00:09:42 default.domain
— MAIL —
2015-09-14 00:09:42 default.domain
— DB —
2015-09-14 00:09:42 admin_******
2015-09-14 00:09:42 admin_******
2015-09-14 00:09:42 admin_******
— CRON —
2015-09-14 00:09:43 7 records
— USER DIR —
2015-09-14 00:09:43 tmp
теперь настала пора переносить базы данных не созданных ранее через vestacp. пытаюсь зайти в phpmyadmin
но при переходе по локальному ip адресу
http://192.168.100.4/phpmyadmin/
выдается ошибка 500
а при переходе по статическому внешнему ip
http://xx.xx.xx.xx/phpmyadmin/
выдается пустая страница
обшарил весь форум. очень многое перепробовал. перезагружался.
chmod 777 /var/lib/php/session
такой папки нет в debian 7. есть только
/var/lib/php5 пустая папка
/var/lib/phpmyadmin в которой нету папки session. есть только
blowfish_secret.inc.php права 640
config.inc.php права 640
выставления прав 644 не дало никакого результата
в /usr/share/phpmyadmin решил не копаться
ко всем php файлам стоят права 644
root@debian:/# find */phpmyadmin
etc/phpmyadmin
etc/phpmyadmin/htpasswd.setup
etc/phpmyadmin/lighttpd.conf
etc/phpmyadmin/phpmyadmin.desktop
etc/phpmyadmin/config.header.inc.php
etc/phpmyadmin/config.inc.php
etc/phpmyadmin/phpmyadmin.service
etc/phpmyadmin/config-db.php_
etc/phpmyadmin/config.footer.inc.php
etc/phpmyadmin/apache.conf
у всех этих файлов права 644 кроме
htpasswd.setup 640
config-db. php_
почему на конце черточка _ я фиг знает
пробовал убрать ее. ничего не поменялось
Re: phpmyadmin blank page Error 500 Ошибка 500 пустая страни
Post by skurudo » Sun Sep 13, 2015 10:27 pm
Re: phpmyadmin blank page Error 500 Ошибка 500 пустая страни
Post by skurudo » Sun Sep 13, 2015 10:34 pm
Re: phpmyadmin blank page Error 500 Ошибка 500 пустая страни
Post by qwerty » Sun Sep 13, 2015 11:57 pm
Version: ‘5.5.44-0+deb7u1’ socket: ‘/var/run/mysqld/mysqld.sock’ port: 3306 (Debian)
150914 2:45:02 [Note] /usr/sbin/mysqld: Normal shutdown
150914 2:45:02 [Note] Event Scheduler: Purging the queue. 0 events
150914 2:45:03 InnoDB: Starting shutdown.
150914 2:45:04 InnoDB: Shutdown completed; log sequence number 3338444
150914 2:45:04 [Note] /usr/sbin/mysqld: Shutdown complete
Источник
Ошибка 500 Internal Server Error: разбираемся и устраняем проблему
В данной статье я постараюсь описать самые частые примеры возникновения ошибки 500 на вашем сайте и решения данной ошибки. Вы открыли страничку вашего сайта и видите сообщение об ошибке 500 (Internal Server Error) — не паникуйте и вспомните, какие изменения были сделаны перед её возникновением, или зайдите в личный кабинет управления хостингом и ознакомьтесь с логами ошибок — скорее всего в них написано что именно вызывает ошибку 500.
Чаще всего ошибку вызывает:
- Тема оформления
- Плагин(ы)
- Файл .htaccess
Давайте рассмотрим эти варианты по порядку.
1. Тема оформления
Вы нашли или приобрели новую понравившуюся вам тему оформления, но после её установки при входе на сайт выдаётся ошибка о его некорректной работе (ошибка 500). При входе в консоль управления тоже наблюдается ошибка 500.
Для восстановления работы сайта можно воспользоваться одним из следующих способов:
1.1. FTP
Зайдите на FTP вашего сайта и найдите папку в которой находятся ваши темы оформления. По умолчанию это /wp-content/themes/
Переименуйте, удалите или исправьте текущую тему оформления сайта.
Примечание: достаточно добавить лишний символ в имя папки с названием темы оформления.
Теперь при входе на сайт вы видите пустую страницу, но никаких сообщений об ошибке нет. Это как раз то чего мы и хотели достичь.
Далее заходим в панель администратора WordPress и переходим в темы оформления. Получаем сообщение о том что активирована другая тема оформления.
Примечание: часто пользователи удаляют стандартные темы оформления, а зря. Они являются эталонными, и если вы не правили код этих тем, тогда стоит активировать одну из них после восстановления сайта.
Загрузить стандартные темы оформления можно здесь:
1.2. PhpMyAdmin
Если вы удалили стандартную тему оформления или отредактировали её, и она не работает, то можно скачать её заново. Ссылки для загрузки тем выше.
Далее, заходим в phpMyAdmin:
Выбираем Базу Данных вашего сайта:
Переходим во вкладку SQL:
И копируем туда следующий код:
Для смены темы оформления таким способом нужно правильно указать её название. Советую использовать стандартные темы оформления в данном случае, ссылки на которые мы приводили выше.
После этого содержимое вашего сайта снова отобразится.
2. Плагины
Обычно плагин, который сбоит, делает внешний вид вашего сайта совсем не таким, как вы хотите его видеть, но доступ в консоль управления все же остается, и вы можете с легкостью отключить этот плагин.
Но бывают случаи, когда вы установили плагин, который конфликтует с другими установленными и активированными плагинами на вашем сайте, или обновили существующий плагин — и он начал сбоить, выдавая ошибку 500 на вашем сайте.
В этом случае способ отключения плагина схожий с методом отключения темы оформления посредством FTP.
Для того, чтобы отключить плагин:
- Зайдите на FTP вашего сайта.
- Зайдите в папку с установленным плагином, по умолчанию это /wp-content/plugins/
- Переименуйте, удалите или отредактируйте плагин. Если вы не удалили, а переименовали плагин, то при переходе в «Консоль управления → Плагины» WordPress автоматически его деактивирует.
3. Файл .htaccess
Ошибка 500 может быть вызвана проблемами с файлом .htaccess . В случае его неудачного редактирования или при некорректной работе некоторых плагинов файл .htaccess может содержать ошибки. Иногда это связано с попыткой изменить параметры, которые изменять запрещено, или попыткой настроить неустановленный модуль веб сервера.
Обычно файл .htaccess находиться в корневой папке вашего сайта (в которую вы попадаете сразу после подключения к FTP).
Так как название этого файла начинается с точки — по умолчанию он считается скрытым и не отображается FTP-клиентом.
В FTP-клиенте FileZilla следует перейти в меню «Сервер» и поставить флажок на «Принудительно отображать скрытые файлы«, а затем обновить список файлов или подключиться заново к FTP, чтобы увидеть файл.
Теперь данный файл стал доступен, и вы можете открыть его в любом текстовом редакторе, например в блокноте, но для удобства работы советую использовать Notepad++ .
Когда вы откроете файл, вы увидите текст, который по сути является правилами и указаниями для работы веб сервера. Вы можете просмотреть внесенные вами изменения и устранить ошибки, либо данный файл можно просто удалить, а в последствии сгенерировать новый средствами WordPress. Для этого нужно перейти в панель администратора сайта, Параметры → Постоянные ссылки, выбрать нужный вариант и нажать «Сохранить«.
Обратите внимание, если настройки, которые находятся в .htaccess, внесены плагином, который вам нужно использовать — тогда стоит внимательно прочесть инструкцию по его установке и настройке, также вы можете обратиться к разработчику плагина за консультацией.
Источник
PhpMyAdmin allows easy editing of website databases.
But, at times due to missing server modules or wrong permissions, PhpMyAdmin error 500 shows up. PhpMyAdmin will work only after fixing the real problem.
That’s why, we often get requests from customers to fix PhpMyAdmin errors as part of our Technical Support Services.
Today, we’ll see the reasons that cause PhpMyAdmin error 500 and how we fix them.
Why to use PhpMyAdmin?
In internet, a major share of websites work based on the underlying databases. Therefore, website owners often need to modify databases as part of the website management. Unfortunately, managing databases via command line can be a tedious task. That’s where editing databases via PhpMyAdmin helps.
PhpMyAdmin is nothing but a tool that helps to create, manage databases from the browser. Usually, it is secured by a username and password.
Editing database is rather simple in PhpMyAdmin. Obviously, it’s a solution that our Dedicated Engineers often suggest to customers for quick database edits. But, trouble comes when it report errors.
Reasons for error 500 in PhpMyAdmin
From our experience in managing servers, we often see errors with PhpMyAdmin at various stages. It can shows 500 errors while installation or even when users access it to modify databases.
Now, let’s see the main reasons for PhpMyAdmin error 500.
1. Missing dependency modules
PhpMyAdmin utility depends largely on certain PHP modules like php-mbstring, php-gettext, etc. Unfortunately, these modules do not come across with many standard PHP packages.
When doing a fresh installation of PhpMyAdmin, the setup will create all the required PhpMyAdmin files. But, if these related modules are missing on the server, accessing PhpMyAdmin reports “500 Internal Server Error” status code. At times, it can be even a blank page.
2. Wrong permissions
Similarly, wrong permissions of php files can also be a reason for PhpMyAdmin errors. For example, in cPanel servers, wrong permission on the files like /usr/local/cpanel/3rdparty/bin/php, /usr/local/cpanel/3rdparty/bin/php-cgi create problems with PhpMyAdmin. Any permission other than 755 will cause PhpMyAdmin to stop working.
3. PHP configuration limits
Yet another common reason for internal server error in PhpMyAdmin can be PHP limits set in the server. For security reasons, PHP limits the maximum resources a PHP process can use on the server. If any process cross these limits like memory_limit, max_input_vars, etc. it results in the error as shown.
How we fix PhpMyAdmin internal server error?
Till now we saw the top 3 reasons that can result in internal server error in PhpMyAdmin. The solution depends on the root cause for the error. We’ll now check how our Support Engineers fix each of them.
1. Missing modules
Recently, one of customers was getting 500 error during PhpMyAdmin installation on one of his domains. His Ubuntu server had Apache2.4 and PHP 7. When tried to open PhpMyAdmin for the first time, it reported internal server error.
On detailed troubleshooting, our Dedicated Engineers found that couple of PHP modules were missing on the server. Therefore, we installed the missing modules using:
apt-get install php-mbstring php7.0-mbstring php-gettext
Then we restarted Apache, and PhpMyAdmin started working fine.
2. Fixing permissions
In many cases, fixing permissions will solve the PhpMyAdmin error 500. Here, we check the php binary files and set them with 755 permissions.
Recently, when a Plesk customer attempted to make a change to a database field in phpMyAdmin, the system crashed with 500 Internal Server Error.
Our Support Engineers saw the following records on /var/log/sw-cp-server/error_log file:
*1110 open() "/var/lib/sw-cp-server/body/0000000014" failed (13: Permission denied), client:, server: , request: "POST /domains/databases/phpMyAdmin/import.php HTTP/1.1"
Here, the problem happened due to wrong ownership for /var/lib/sw-cp-server/ directory. Therefore, we fixed it by setting correct ownership and permission on the directory using:
chown sw-cp-server:sw-cp-server /var/lib/sw-cp-server/
chmod 700 /var/lib/sw-cp-server/
3. Setting proper PHP limits
For trouble caused by PHP limits, there will be related entries in the web server log files. Therefore, to fix PhpMyAdmin errors, our Support Engineers always check the log files as the initial step.
For example, when customer tried to open a large table via phpMyAdmin the following error displayed in the logs.
[29-Mar-2019 12:49:10] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 401128 bytes) in /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/DisplayResults.php on line 2852
Obviously, from the error log, we could identify that insufficient PHP memory limit was causing the error. Therefore, the fix was to set proper values in the correct php.ini file, followed by a web server restart. The customer was having a Plesk server. So we increased the memory_limit, max_input_vars parameters in the file /usr/local/psa/admin/conf/php.ini.
In cPanel servers, each version of PHP on the server uses its own php.ini
file. In such cases, our Dedicated Engineers ensure that we set the limits in the correct php.ini file used by the domain.
[Getting internal server error on PhpMyAdmin? We are here to fix it.]
Conclusion
In a nutshell, PhpMyAdmin error 500 shows up due to missing server modules, wrong permissions, PHP limits and so on. Today, we discussed these reasons in detail and how our Dedicated Engineers fix them and make PhpMyAdmin working.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
GET STARTED
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;
Ура, наконец то! PROBLEM RESOLVED
просто надо было в файле /etc/php5/apache2/php.ini
memory_limit = 128M
заменить на более большую цифру
например: memory_limit = 512M
как починить phpmyadmin или как импортировать базы данных в формате sql в обход панели vestacp через консольные команды
после распаковки бекапа перестал открываться phpmyadmin
версия phpmyadmin на старом хостинге:
Информация о версии: 3.4.11.1deb2+deb7u1
версию на новом хосте не могу сказать, ибо не знаю где смотреть
имею debian 7 установленой на virtualbox подключенную к интернету через сетевой мост.
вручную положил файл admin.2015-09-07.tar в /home/backup
набрал команду
v-restore-user admin admin.2015-09-07.tar
установилось не сразу
исправил пару ошибок возникающих из за apache2 и паролем от mysql
в итоге все все установилось.
root@debian:# v-restore-user admin admin.2015-09-07.tar
— WEB —
2015-09-14 00:09:23 default.domain
— DNS —
2015-09-14 00:09:42 default.domain
— MAIL —
2015-09-14 00:09:42 default.domain
— DB —
2015-09-14 00:09:42 admin_******
2015-09-14 00:09:42 admin_******
2015-09-14 00:09:42 admin_******
— CRON —
2015-09-14 00:09:43 7 records
— USER DIR —
2015-09-14 00:09:43 tmp
теперь настала пора переносить базы данных не созданных ранее через vestacp. пытаюсь зайти в phpmyadmin
но при переходе по локальному ip адресу
http://192.168.100.4/phpmyadmin/
выдается ошибка 500
а при переходе по статическому внешнему ip
http://xx.xx.xx.xx/phpmyadmin/
выдается пустая страница
что я пробовал?
обшарил весь форум. очень многое перепробовал. перезагружался.
chmod 777 /var/lib/php/session
такой папки нет в debian 7. есть только
/var/lib/php5 пустая папка
/var/lib/phpmyadmin в которой нету папки session. есть только
blowfish_secret.inc.php права 640
config.inc.php права 640
выставления прав 644 не дало никакого результата
в /usr/share/phpmyadmin решил не копаться
ко всем php файлам стоят права 644
результаты поиска по ключевому слову phpmyadmin
root@debian:/# find */phpmyadmin
etc/phpmyadmin
etc/phpmyadmin/htpasswd.setup
etc/phpmyadmin/lighttpd.conf
etc/phpmyadmin/phpmyadmin.desktop
etc/phpmyadmin/config.header.inc.php
etc/phpmyadmin/config.inc.php
etc/phpmyadmin/phpmyadmin.service
etc/phpmyadmin/config-db.php_
etc/phpmyadmin/config.footer.inc.php
etc/phpmyadmin/apache.conf
у всех этих файлов права 644 кроме
htpasswd.setup 640
config-db.php_
почему на конце черточка _ я фиг знает
пробовал убрать ее. ничего не поменялось
как импортировать базы данных в формате sql в обход панели vestacp через консольные команды
источник:
как починить phpmyadmin или как импортировать базы данных в формате sql в обход панели vestacp через консольные команды
При разработке веб-сайтов и веб-приложений можно столкнуться с ошибкой 500 internal server error. Сначала она может испугать и ввести в заблуждение, поскольку обычно веб-сервер выдает более конкретные ошибки, в которых указана точная причина проблемы, например, превышено время ожидания, неверный запрос или файл не найден, а тут просто сказано что, обнаружена внутренняя ошибка.
Но не все так страшно и в большинстве случаев проблема вполне решаема и очень быстро. В этой статье мы разберем как исправить ошибку Internal server error в Nginx.
Дословно Internal server error означает внутренняя ошибка сервера. И вызвать её могут несколько проблем. Вот основные из них:
- Ошибки в скрипте на PHP — одна из самых частых причин;
- Превышено время выполнения PHP скрипта или лимит памяти;
- Неправильные права на файлы сайта;
- Неверная конфигурация Nginx.
А теперь рассмотрим каждую из причин более подробно и разберем варианты решения.
1. Ошибка в скрипте PHP
Мы привыкли к тому, что если в PHP скрипте есть ошибки, то сразу же видим их в браузере. Однако на производственных серверах отображение сообщений об ошибках в PHP отключено, чтобы предотвратить распространение информации о конфигурации сервера для посторонних. Nginx не может отобразить реальную причину ошибки, потому что не знает что за ошибка произошла, а поэтому выдает универсальное сообщение 500 internal server error.
Чтобы исправить эту ошибку, нужно сначала понять где именно проблема. Вы можете включить отображение ошибок в конфигурационном файле php изменив значение строки display_errors с off на on. Рассмотрим на примере Ubuntu и PHP 7.2:
vi /etc/php/7.2/php.ini
display_errors = On
Перезапустите php-fpm:
sudo systemctl restart php-fpm
Затем обновите страницу и вы увидите сообщение об ошибке, из-за которого возникла проблема. Далее его можно исправить и отключить отображение ошибок, тогда все будет работать. Ещё можно посмотреть сообщения об ошибках PHP в логе ошибок Nginx. Обычно он находится по пути /var/log/nginx/error.log, но для виртуальных доменов может настраиваться отдельно. Например, смотрим последние 100 строк в логе:
tail -n 100 -f /var/log/nginx/error.log
Теперь аналогично, исправьте ошибку и страница будет загружаться нормально, без ошибки 500.
2. Превышено время выполнения или лимит памяти
Это продолжение предыдущего пункта, так тоже относится к ошибкам PHP, но так, как проблема встречается довольно часто я решил вынести её в отдельный пункт. В файле php.ini установлены ограничения на время выполнения скрипта и количество оперативной памяти, которую он может потребить. Если скрипт потребляет больше, интерпретатор PHP его убивает и возвращает сообщение об ошибке.
Также подобная ошибка может возникать, если на сервере закончилась свободная оперативная память.
Если же отображение ошибок отключено, мы получаем error 500. Обратите внимание, что если время ожидания было ограничено в конфигурационном файле Nginx, то вы получите ошибку 504, а не HTTP ERROR 500, так что проблема именно в php.ini.
Чтобы решить проблему увеличьте значения параметров max_execution_time и memory_limit в php.ini:
sudo vi /etc/php/7.2/php.ini
max_execution_time 300
memory_limit 512M
Также проблема может быть вызвана превышением других лимитов установленных для скрипта php. Смотрите ошибки php, как описано в первом пункте. После внесения изменений в файл перезапустите php-fpm:
sudo systemctl restart php-fpm
3. Неверные права на файлы
Такая ошибка может возникать, если права на файлы, к которым обращается Nginx установлены на правильно. Сервисы Nginx и php-fpm должны быть запущены от имени одного и того же пользователя, а все файлы сайтов должны принадлежать этому же пользователю. Посмотреть от имени какого пользователя запущен Nginx можно командой:
nginx -T | grep user
Чтобы узнать от какого пользователя запущен php-fpm посмотрите содержимое конфигурационного файла используемого пула, например www.conf:
sudo vi /etc/php-fpm.d/www.conf
В моем случае это пользователь nginx. Теперь надо убедится, что файлы сайта, к которым вы пытаетесь обратиться принадлежат именно этому пользователю. Для этого используйте команду namei:
namei -l /var/www/site
Файлы сайта должны принадлежать пользователю, от имени которого запущены сервисы, а по пути к каталогу с файлами должен быть доступ на чтение для всех пользователей. Если файлы принадлежат не тому пользователю, то вы можете все очень просто исправить:
sudo chown nginx:nginx -R /var/www/site
Этой командой мы меняем владельца и группу всех файлов в папке на nginx:nginx. Добавить права на чтение для всех пользователей для каталога можно командой chmod. Например:
sudo chmod o+r /var/www/
Далее все должно работать. Также, проблемы с правами может вызывать SELinux. Настройте его правильно или отключите:
setenforce 0
Выводы
В этой статье мы разобрали что делать если на вашем сайте встретилась ошибка 500 internal server error nginx. Как видите проблема вполне решаема и в большинстве случаев вам помогут действия описанные в статье. А если не помогут, напишите свое решение в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .