使用AWS Elasticbeanstalk成功部署laravel 5.4应用程序后,Laravel在FileViewFinder异常中抛出InvalidArgumentException,当我访问我的根路径时,查看[index] 找不到。 / p>
这是堆栈跟踪的片段。 正如您所看到的,Laravel尝试从/ var / app / ondeck中查找视图,据我所知,这是部署期间的临时位置,而不是在部署之后。我到处搜索,似乎无法找到类似的问题。 任何有关它的帮助将不胜感激。in FileViewFinder.php line 137
at FileViewFinder->findInPaths('index', array('/var/app/ondeck/resources/views')) in FileViewFinder.php line 79
at FileViewFinder->find('index') in Factory.php line 128
at Factory->make('index', array(), array()) in helpers.php line 914
at view('index') in HomeController.php line 24
答案 0 :(得分:0)
在与之斗争之后,我设法使用部署后脚本 /opt/elasticbeanstalk/hooks/appdeploy/post/artisan_clear_cache.sh 来运行php artisan config:cache
。 Laravel将视图路径缓存到指向ondeck目录,因此在部署之后需要清除缓存。不幸的是,这种方法没有记录。所以我就是这样解决的。
我必须创建包含post deploy hook的目录,因为默认情况下它不存在。正在运行mkdir /opt/elasticbeanstalk/hooks/appdeploy/post
。
我必须为Laravel设置写入存储的权限。正在运行chmod -R 755 /var/app/current/storage
。
最后,我必须将artisan命令放在.sh。
这样,脚本将在部署后自动运行并清除缓存。
请注意,所有这些都必须在项目根目录的 .ebextensions 目录中的.config
文件中完成。有关here