Magento2 缓存上的Magento 2错误:刷新缓存:清除|之后需要将权限设置为777

Magento2 缓存上的Magento 2错误:刷新缓存:清除|之后需要将权限设置为777,magento2,Magento2,每次我跑步: php bin/magento cache:flush php bin/magento cache:clean 我在重新加载页面时收到以下消息: 应用程序运行期间发生错误。有关详细信息,请参阅异常日志 细节 exception.log: ain.CRITICAL: Exception: Warning: file_put_contents(/var/www/magento2/var/cache//mage-tags/mage---914_CONFIG_SCOPES): faile

每次我跑步:

php bin/magento cache:flush
php bin/magento cache:clean
我在重新加载页面时收到以下消息:

应用程序运行期间发生错误。有关详细信息,请参阅异常日志 细节

exception.log:

ain.CRITICAL: Exception: Warning: file_put_contents(/var/www/magento2/var/cache//mage-tags/mage---914_CONFIG_SCOPES): failed to open stream: Permission denied in /var/www/magento2/vendor/colinmollenhour/cache-backend-file/File.php on line 663 in /var/www/magento2/vendor/magento/framework/App/ErrorHandler.php:61
当我跑步时:

sudo chmod -R 777 var/ pub/
错误消失了


每次我清理缓存时怎么会发生这种情况,以及应该做些什么来回溯跟踪/解决此问题?

此类问题的根源是相同的:运行web服务器的用户与运行console命令的用户不同

前提条件 您应该定义运行web服务器的用户

$ ls -la
此命令可以用于创建
var/cache
等的用户

让我们决定web服务器在
www-data
user下运行

解决方案1 此格式允许您在web服务器用户下运行命令。所以应用程序将拥有与服务器相同的权限(用户
www-data
)。 因此,您可以命令
php-bin/magento-cache:flush
transforms-to

$ sudo -H -u www-data php bin/magento cache:flush
解决方案2 将web服务器的用户添加到同一组的用户

$ id
uid=1001(ygl) gid=1002(ygl) groups=1002(ygl),112(nopasswdlogin)
  • 这将显示有关当前用户的信息

    $sudo usermod-a-G www-data

  • 此命令将
    www-data
    添加到您的组名中


此类问题的根源是相同的:运行web服务器的用户与运行console命令的用户不同

前提条件 您应该定义运行web服务器的用户

$ ls -la
此命令可以用于创建
var/cache
等的用户

让我们决定web服务器在
www-data
user下运行

解决方案1 此格式允许您在web服务器用户下运行命令。所以应用程序将拥有与服务器相同的权限(用户
www-data
)。 因此,您可以命令
php-bin/magento-cache:flush
transforms-to

$ sudo -H -u www-data php bin/magento cache:flush
解决方案2 将web服务器的用户添加到同一组的用户

$ id
uid=1001(ygl) gid=1002(ygl) groups=1002(ygl),112(nopasswdlogin)
  • 这将显示有关当前用户的信息

    $sudo usermod-a-G www-data

  • 此命令将
    www-data
    添加到您的组名中