我正在使用Laravel,效果很好。在我的本地PC上更新了一个刀片文件并使用git进行部署后,Laravel无法再打开该特定刀片。
file_put_contents(/var/www/vhosts/***/httpdocs/memberportal/storage/framework/views/8274d2f145c8a134eb15ccbb69c2df396814d64e.php):
failed to open stream: Permission denied (View: /var/www/vhosts/***/httpdocs/memberportal/resources/views/emails/newsletter/2019-04-2/translations/advertise/en.blade.php)
at /var/www/vhosts/***/httpdocs/memberportal/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122,
ErrorException(code: 0): file_put_contents(/var/www/vhosts/***/httpdocs/memberportal/storage/framework/views/8274d2f145c8a134eb15ccbb69c2df396814d64e.php):
failed to open stream: Permission denied at /var/www/vhosts/***/httpdocs/memberportal/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)
storage
文件夹和en.blade.php
的文件夹权限和所有者是正确的。但是,我注意到缓存中文件的所有者/组是不同的。
拥有所有者root:root
的所有缓存文件均不可访问。在使用git进行部署时,为什么Laravel会更改生产服务器上缓存文件的所有权的任何想法? git会忽略存储文件,因此我不知道这是怎么发生的。
有什么建议吗?