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
$ 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