Magento 2: 500 Внутрішня помилка сервера


10

Я стежив за документами Magento Dev нижче:

Якщо ви додасте новий шаблон .html, а потім відредагуєте його, зміни не застосовуватимуться, поки ви не виконаєте наступне: видаліть усі файли в папках pub / static / frontend та var / view_preprocessing, а потім перезавантажте сторінки. Ви можете видалити файли вручну або запустити команду grunt clean: у CLI. Докладніше про використання Grunt в Magento див. Встановлення та налаштування Grunt.

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


2
перевірити свій журнал помилок.
MagenX

внутрішній сервер 500 надходить через дозвіл на файл, просто дайте 755 в папку і 644 на файл
Alam Zaib

Відповіді:


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 7, SELinux робить систему більш захищеною, але це створює багато проблем для людей, які не є Linux.


2

Рішення: Помилка внутрішнього сервера !! Magento 2.2.2 Дуже важливо !! особливо для WAMPserver у Windows10

  1. Переконайтеся, що модулі LoadModule version_module / mod_version.so завантажуються з httpd.conf, ця помилка спричиняє внутрішню помилку сервера Magento 2.2.2.

Модулі LoadModule version_module / mod_version.so

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

  2. видаліть стару базу даних mysql для magento222 та створіть нову, щоб зробити чисту та безпечну установку.

PS: Вер. 2.2.2 не є стабільною версією.


2

Перевірте .htaccess first.можливість модуля не ввімкнено. Тому що я зіткнувся з цією проблемою через модуль mod_version, тому я ввімкнув його від apache і зараз він працює.

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

Дякую


2
я замінив файл .htaccess і вирішив проблему спасибі
Sagar Dobariya

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

1

Я також зіткнувся з тією ж ситуацією вранці, але завдяки відповіді @david.

Трохи вивчивши каталог журналів Apache, я дізнався про те, що apache не має дозволу читати додаток / etc / folder.

Отже, після надання дозволу все працює добре.


1
Скажіть, будь ласка, шлях.
jafar pinjar

Якщо ви перебуваєте в середовищі Linux, зазвичай це буде / var / log / apache2 або / var / log / httpd /
Deepanshu Jain

1

У моєму випадку це пов'язано з проблемами власності. Я використовував ubuntu os, тому я скористався наступною командою для виправлення права власності.

sudo useradd magento

Тепер приєднайте цього користувача magento до групи користувачів веб-сервера. У ubuntu це за замовчуванням 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, це був занадто старий коментар. Я вибачився за це. Тепер я відредагував свою відповідь, будь ласка, спробуйте це.
Mukesh

вам прощено;)
Мертвий хлопець


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 є спеціальна папка, яка називається згенерована . Це повинен бути дозвіл на написання.
  • Ще одна основна причина - загальний дозвіл файлів. Переконайтесь, що вар, створений, постачальник, додаток / тощо, паб / медіа та паб / статичний мають належний доступ для запису.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.