如何修复Magento2中的错误500

在Magento 2网站上出现内部服务器错误的主要原因有五个:

  1. 权限问题
  2. 内存限制
  3. .htaccess文件中的问题
  4. 缺少模块
  5. 第三方插件问题

但是在执行任何操作之前,您需要启用开发人员模式。为此,请运行以下命令:

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并尽快与您的供应商联系。