Php Heroku-未找到视图-FileFinderView InvalidArgumentException

Php Heroku-未找到视图-FileFinderView InvalidArgumentException,php,laravel,heroku,Php,Laravel,Heroku,这消耗了我生命的最后两天。本地一切正常,但当我的代码部署到Heroku时,Laravel找不到索引视图。据我所知,这是一些缓存问题,因此我尝试了Artisan的大多数命令来清理缓存: php artisan config:cache php artisan route:cache php artisan view:clear php artisan clear-compiled 这是我的路线,我在做水疗: Route::get('/{any}', 'HomeController@main')-

这消耗了我生命的最后两天。本地一切正常,但当我的代码部署到Heroku时,Laravel找不到
索引
视图。据我所知,这是一些缓存问题,因此我尝试了Artisan的大多数命令来清理缓存:

php artisan config:cache
php artisan route:cache
php artisan view:clear
php artisan clear-compiled
这是我的路线,我在做水疗:

Route::get('/{any}', 'HomeController@main')->where('any', '.*');
这是我视图中的堆栈跟踪:


我已经清理了
bootstrap/cache
文件夹,老实说,我已经没有主意了。有人在这上面有灯吗?谢谢

请使用全方位缓存清除命令:

php artisan optimize:clear

我找到了解决同一问题的方法:

问题本身似乎是由官方的php buildpack引起的,它在构建过程结束时在构建环境内部进行
php artisan优化
(除了清除和重新创建配置缓存的其他事情)。这将导致生成目录
/tmp/build\uuuxxxxx/
保存到配置缓存中

解决方案是运行
php artisan config:clear
,但它不会对已经构建和运行的应用程序生效,因为heroku是如何工作的:当您访问他们的shell时,您会在文件系统上执行从项目构建生成的操作,并且在退出shell后立即销毁。您对该shell中的文件执行的操作不会影响正在运行的应用程序实例<代码>php artisan配置:必须在构建过程结束时运行clear

一种方法是buildpack,它允许在构建过程之后添加自定义挂钩。请记住,它也会在构建后清除php artisan视图,而官方的php buildpack则不会。使用它并将
LARAVEL\u COMMANDS='php artisan config:clear'
添加到heroku配置中,为我解决了这个问题

tl;博士:

heroku buildpacks:set gerardbalaoro/laravel
heroku config:set LARAVEL_COMMANDS='php artisan config:clear'
git commit --allow-empty -m 'force rebuild'
git push heroku master

清除一切的最佳命令:
php-artisan-optimize:clear
。我以前尝试过php artisan optimize,但没有成功。请@ChristopherHubert添加一个答案,我将很高兴地接受它。//我很高兴它有帮助,答案补充道