EC2 上的 Laravel 存储/框架/会话无法打开流


Laravel storage/framework/sessions on EC2 gives failed to open stream

我曾经有一个带有 EC2 服务器的 Amazon beanstalk 的工作部署系统,最近我在脚本中添加了一些优化后命令,例如

composer dump-autoload
sudo php artisan optimize --force
sudo php artisan route:cache

现在在我的一个 API 端点上,很奇怪我得到了一半的数据,最后我有一个错误

file_put_contents(/var/app/ondeck/storage/framework/sessions/34325rfeq4324qfgr4): failed to open stream: No such file or directory

是什么原因导致这种情况,如何在 ec2 部署设置中解决此问题?

编辑

我刚刚发现了一些东西!如果在给我错误的服务器上,我运行以下命令以清除配置缓存,我的错误消失了。那么我究竟如何解决这个问题,以便我仍然可以运行 php artisan config:cache 而不会让它中断?

php artisan config:clear

您遇到此问题的原因是您在"发布"之前运行artisan config:cache - 在/var/app/ondeck

如果您运行 eb ssh ,您将看到您的应用程序位于 /var/www

您需要使用部署后钩子运行config:cache - 但是似乎尚未正式支持此功能。解决方法如下:http://junkheap.net/blog/2013/05/20/elastic-beanstalk-post-deployment-scripts/