Magento 2:500内部服务器错误


10

我遵循以下的Magento开发文档:

如果您添加一个新的.html模板,然后对其进行编辑,则更改将不适用,直到您执行以下操作:删除pub / static / frontend和var / view_preprocessing目录中的所有文件,然后重新加载页面。您可以手动删除文件,也可以在CLI中运行grunt clean:命令。有关在Magento中使用Grunt的详细信息,请参阅安装和配置Grunt。

但是现在在通过htaccess设置的开发人员模式下,我在站点和管理URL上收到内部服务器错误500。如果它寻找已清除的文件来呈现,这是否是一个缓存问题?


2
检查您的错误日志。
MagenX '16

内部服务器500来自文件许可权,只需将755赋予文件夹,将644赋予文件
Alam Zaib

Answers:


12

在开发人员模式下,当被请求且找不到文件时,将自动生成文件。因此,这应该不是问题。

遇到500错误时,您应该做的第一件事就是搜索您的Web服务器错误日志。

在apache上运行时,通常可以在以下两个位置之一中找到它:

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

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



2

在CentOS 7上,我使用以下命令禁用了防火墙设置:

$ setenforce 0

就是这样。问题得到解决。使用RHEL 7 and CentOS 7SELinux可以使系统更加安全,但对非Linux人士则构成了很多挑战。


2

解决方案:内部服务器错误!Magento 2.2.2非常重要!特别是对于Windows10中的WAMPserver

  1. 请确保从httpd.conf加载了LoadModule version_module modules / mod_version.so,此错误导致Magento 2.2.2内部服务器错误,并且如果以下设置为“#”,请删除“#”

LoadModule version_module modules / mod_version.so

  1. 创建一个新文件夹,并在/ pub /之后将其命名为“ static”,如下所示:http:// localhost / magento222 / pub / static / 右键单击“ static”文件夹,然后单击属性以确保其可写。

  2. 删除magento222的旧mysql数据库,并创建一个新数据库以进行干净安全的安装。

PS:Ver。2.2.2不是稳定版本。


2

请先检查.htaccess。模块未启用。因为我由于mod_version模块而遇到了这个问题,所以我从apache启用了它,现在它可以工作了。

您也可以替换.htaccess文件进行检查,也可以重命名以确认.htaccess文件的问题。

谢谢


2
我已经替换了.htaccess文件并已解决了问题,谢谢
Sagar Dobariya

1
  1. 也可能是因为文件权限错误。
  2. 确保您将CHMOD "user":"group" "magento install DIR"

1

早上我也遇到了同样的情况,但是感谢@david的回答。

经过对Apache日志目录的一些研究,我了解到apache没有读取app / etc /文件夹的权限。

因此,在给予许可后,一切正常。


1
请告诉我这条路。
Jafar Pinjar

如果您使用的是Linux环境,则通常为/ var / log / apache2或/ var / log / httpd /
Deepanshu Jain

1

就我而言,这是由于所有权问题。我使用的是ubuntu os,所以我使用了以下命令来更正所有权。

sudo useradd magento

现在,将此magento用户关联到Web服务器的用户组。在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文件夹和everthin的所有权的权限,遇到问题的任何人都应运行以下命令来还原斜纹:对于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 Ojha,

您被原谅了;)
The Dead Guy


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,则在其他地方您会找到发生这种情况的具体原因。并通过互联网搜索解决了该问题。

可能的问题:

  • 如果您从现有站点复制文件和数据库并将其直接放置在新服务器上,则可能存在一些兼容性问题,对于此上载freash副本并尝试安装它,您会发现缺少的内容
  • 在新的Magento版本中,有一个名为generate的特殊文件夹。那必须是写权限。
  • 另一个主要原因是总体文件权限。确保var,generated,vendor,app / etc,pub / media和pub / static具有适当的写访问权限。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.