在Magento 2网站上出现内部服务器错误的主要原因有五个:
- 权限问题
- 内存限制
- .htaccess文件中的问题
- 缺少模块
- 第三方插件问题

但是在执行任何操作之前,您需要启用开发人员模式。为此,请运行以下命令:
php bin/magento deploy:mode:set developer
要了解有关Magento模式及其更改方式的更多信息,请查看Magento官方文档。
但是开发人员模式并不总是显示错误。要显示它,请移至app / bootstrap.php并从#ini_set(’display_errors’,1)行中删除注释。
注意:对于您的实时网站,打开开发人员模式可能并不安全。犯罪分子可以看到问题并加以利用。
随着开发人员模式的开启,您可以看到错误,让我们看看如何解决以下每个问题。
权限错误
错误配置的权限是Magento服务器错误500的最常见原因之一。要解决此问题,您需要使用以下命令来更新根文件夹中的权限设置:
cd <your Magento install dir>
find . -type f -exec chmod 644 {} \; // 644 permission for files
find . -type d -exec chmod 755 {} \; // 755 permission for directory
chown -R :<web server group> .
chmod u+x bin/magento
或者,您可以使用Magento清理实用程序(https://example.com/magento/magento-cleanup.php)自动设置正确的权限。
有关系统权限的更多信息,请参阅官方文档。
内存限制
PHP内存限制是在数据升级后在Magento 2中出现500错误的另一个常见原因。在这种情况下,您只需要增加音量即可。
如果您有权编辑服务器设置,请转到php.ini文件并添加:
memory_limit = 756M
756M是您可以设置更多内存容量的最小值。
否则,将此代码添加到.htaccess文件:
<IfModule mod_php5.c>
php_value memory_limit 756M
</IfModule>
.htaccess文件中的问题
通常,当您尝试运行某些组件(例如主题,插件,补丁程序等)的安装时,.htaccess文件会发生问题。如果配置错误,则可以在Magento网站上获取500错误。
在这种情况下,您可以临时重命名此文件并在/ var / log / httpd或/ var / log / apache2中检查错误日志。如果发现任何其他问题,请更正配置。
缺少模块
有时,由于您的服务器不支持某些规范,因此在Magento安装期间可能会出现内部服务器错误。在这种情况下,您可以使用Magento Check(https://example.com/magento/magento-check.php)找出缺少的模块,然后将其安装在服务器上。
第三方插件问题
此外,在实施新插件或更新后,您可以在Magento中获得内部服务器错误。在这种情况下,请使用以下命令php bin / magento mod:disable关闭该mod并尽快与您的供应商联系。