Magento 2: 500 Внутренняя ошибка сервера


10

Я следовал документации для разработчиков Magento, приведенной ниже:

Если вы добавите новый HTML-шаблон и затем отредактируете его, изменения не будут применены, пока вы не выполните следующие действия: удалите все файлы в каталогах pub / static / frontend и var / view_preprocessing, а затем перезагрузите страницы. Вы можете удалить файлы вручную или запустить команду grunt clean: в CLI. Подробнее об использовании Grunt в Magento см. Установка и настройка Grunt.

Однако теперь в режиме разработчика, установленном через htaccess, я получаю Внутреннюю ошибку сервера 500 через сайт и административные URL. Это проблема кеширования, если он ищет очищенные файлы для рендеринга?


2
проверьте ваш журнал ошибок.
MagenX

Внутренний сервер 500 приходит из-за разрешения на файл, просто дайте 755 на папку и 644 на файл
Алам Заиб

Ответы:


12

в режиме разработчика файлы автоматически генерируются по запросу и не обнаруживаются. Так что это не должно быть проблемой.

Когда вы сталкиваетесь с ошибкой 500, первое, что вы должны сделать, это поискать журнал ошибок вашего веб-сервера.

При работе на Apache его можно найти в одном из следующих двух мест:

/ var / log / httpd / -> centos, archlinux ...

/ var / log / apache2 / -> debian, ubuntu ...


5

Попробуйте выполнить следующую команду в корне Magento и перед выполнением этой команды дать полные права доступа к каталогу установки

php bin/magento setup:static-content:deploy -f

2

В CentOS 7 я отключил настройки брандмауэра с помощью следующей команды:

$ setenforce 0

и это все. Проблема решена. С помощью RHEL 7 and CentOS 7SELinux система становится более защищенной, но это ставит множество проблем перед людьми, не являющимися пользователями Linux.


2

Решение: Внутренняя ошибка сервера !! Magento 2.2.2 Очень важно! специально для WAMPserver в windows10

  1. Пожалуйста, убедитесь, что LoadModule version_module modules / mod_version.so загружен из httpd.conf, эта ошибка вызывает внутреннюю ошибку сервера Magento 2.2.2, и если следующий параметр получил «#», удалите «#»

LoadModule version_module modules / mod_version.so

  1. создайте новую папку и назовите ее «static», после того как / pub / будет выглядеть следующим образом: http: // localhost / magento222 / pub / static / щелкните правой кнопкой мыши папку «static» и выберите свойство, чтобы убедиться, что оно доступно для записи.

  2. удалите старую базу данных mysql для magento222 и создайте новую для чистой и безопасной установки.

PS: Вер. 2.2.2 не является стабильной версией.


2

Пожалуйста, проверьте .htaccess сначала. Возможность модуля не включена. Потому что я столкнулся с этой проблемой из-за модуля mod_version, поэтому я включил его из Apache, и теперь он работает.

Вы также можете проверить замену файла .htaccess или переименовать его, чтобы подтвердить выпуск файла .htaccess.

Спасибо


2
Я заменил файл .htaccess и решил проблему, спасибо
Сагар Добария

1
  1. Это также может быть связано с неправильными правами доступа к файлам.
  2. Убедитесь, что вы CHMOD "user":"group" "magento install DIR"

1

Я также сталкивался с такой же ситуацией утром, но благодаря ответу @david.

После небольшого исследования каталога журналов Apache я узнал, что у apache нет разрешения на чтение папки app / etc / .

Итак, после разрешения все работает нормально.


1
Пожалуйста, скажи мне путь.
Джафар Пинджар

Если вы работаете в среде Linux, то обычно это будут / var / log / apache2 или / var / log / httpd /
Deepanshu Jain

1

В моем случае это связано с вопросами владения. Я использовал Ubuntu OS, поэтому я использовал следующую команду, чтобы исправить владельца.

sudo useradd magento

Теперь свяжите этого magento пользователя с группой пользователей веб-сервера. В убунту это по умолчанию www-data

sudo usermod -g www-data magento

Теперь перейдите в каталог проекта Magento в терминале и выполните следующие команды.

sudo find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; sudo find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \; sudo chown -R magento:www-data . sudo chmod u+x bin/magento

После успешного выполнения этих команд пользователь magento получает все необходимые разрешения независимо от настройки Magento.

Перезапустите сервер apache с помощью следующей команды

sudo systemctl restart apache2


Ваш код стоил мне потерять право владения моей папкой publiv_html и всегда внутри, любой, у кого есть проблема, должен выполнить эту команду, чтобы отменить изменения: для i in cat /etc/trueuserdomains | awk '{print $2}' > do> chown $ i. $ i / home / $ i -R; > chown $ i.mail / home / $ i / etc -R; > chown $ i.nobody / home / $ i / public_html; > chmod 750 / home / $ i / public_html; > сделано;
Мертвый парень

@TheDeadGuy, это был слишком старый комментарий. Я извинился за это. Теперь я отредактировал свой ответ, пожалуйста попробуйте с этим.
Мукеш

ты прощен;)
Мертвый парень


0

Если вы используете Magento 2.2.4. Затем сначала перейдите в каталог журналов Apache и

[Wed May 30 00:58:17.857269 2018] [core:alert] [pid 7184:tid 1244] [client 127.0.0.1:65528] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 00:58:42.568180 2018] [core:alert] [pid 7184:tid 1248] [client 127.0.0.1:49165] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 00:59:01.667499 2018] [core:alert] [pid 7184:tid 1252] [client 127.0.0.1:49169] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 01:00:04.655715 2018] [core:alert] [pid 7184:tid 1272] [client 127.0.0.1:49174] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration
[Wed May 30 01:00:35.151803 2018] [core:alert] [pid 7184:tid 1272] [client 127.0.0.1:49201] C:/Creation/wamp64/www/m2version/ms-live-version/.htaccess: Invalid command '<IfVersion', perhaps misspelled or defined by a module not included in the server configuration

Согласно журналу, основная проблема - это файл .htaccess. Я не знаю точную причину, но следующий код удаления из файла .htaccess работает.

Удалить код тега файла.

<Files composer.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files composer.lock>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .gitignore>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .htaccess>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .htaccess.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .php_cs.dist>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files .travis.yml>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files CHANGELOG.md>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files COPYING.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files Gruntfile.js>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files LICENSE.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files LICENSE_AFL.txt>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files nginx.conf.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files package.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files php.ini.sample>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files README.md>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files auth.json>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>
<Files magento_umask>
    <IfVersion < 2.4>
        order allow,deny
        deny from all
    </IfVersion>
    <IfVersion >= 2.4>
        Require all denied
    </IfVersion>
</Files>

Примечание: я не знаю, могут ли быть проблемы в будущем или нет. Но это поможет мне.


0

Проболтался в течение часа и, наконец, проблема была решена после удаления настроек прокси. Кто сталкивается с этой проблемой, проверьте настройки прокси.



0

Это очень сложный вопрос.

Для этого может быть много возможных причин. Лучше, чем идти случайно, отладить проблему.

если вы используете apache2 для перехода в / var / log / apache2 и обнаружите error.log, в другом вы найдете конкретную причину, по которой это происходит. И решил это поиском по интернету.

Возможная проблема:

  • Если вы скопируете файлы и базу данных с существующего сайта и поместите директолу на новый сервер, тогда может возникнуть некоторая проблема с совместимостью, для этого загрузите копию и попытайтесь установить ее, вы найдете то, чего не хватает
  • В новой версии Magento есть специальная папка с именем Generated . Это должно быть разрешение на запись.
  • Другая основная причина - общее разрешение файла. Убедитесь, что у var, генерируемого, вендора, приложения / etc, pub / media и pub / static есть надлежащий доступ для записи.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.