部署到 Ubuntu 18.04 服务器后如何在 Laravel 中修复“未捕获的 ReflectionException:类视图不存在”
Posted
技术标签:
【中文标题】部署到 Ubuntu 18.04 服务器后如何在 Laravel 中修复“未捕获的 ReflectionException:类视图不存在”【英文标题】:How to fix "Uncaught ReflectionException: Class view does not exist" in Laravel after deployment to Ubuntu 18.04 server 【发布时间】:2020-02-12 08:12:52 【问题描述】:我目前在 ubuntu 16.04 服务器上托管应用程序...但是当我尝试在新的 ubuntu 18.04 服务器上部署相同的代码时,我的 apache 日志中出现以下错误
php 致命错误:未捕获的 ReflectionException:/var/www/xxxxxxxxxxxx/public_html/vendor/laravel/framework/src/Illuminate/Container/Container.php:788 中不存在类视图
在我的 laravel 项目中导航到那行代码是
$reflector = new ReflectionClass($concrete);
我清除了 bootstrap/cache 中的配置并运行 composer dump-autoload 无济于事
【问题讨论】:
请编辑问题并添加config/app.php
文件
他们运行的是相同版本的 PHP 吗?
您需要通过堆栈跟踪查看实际尝试从容器中解析“视图”的内容,因为它似乎尚未绑定
【参考方案1】:
在项目根目录中运行此命令:
composer dump-autoload
【讨论】:
【参考方案2】:答案是运行composer dump-autoload -o
。注意-o
。
【讨论】:
-o
代表什么?
@Sliq 优化转储【参考方案3】:
感谢你们的帮助,问题是我从来没有在服务器上安装过 composer。在服务器上安装 composer 解决了这个问题。
【讨论】:
以上是关于部署到 Ubuntu 18.04 服务器后如何在 Laravel 中修复“未捕获的 ReflectionException:类视图不存在”的主要内容,如果未能解决你的问题,请参考以下文章
部署到 tomcat 9(Ubuntu 18.04)时,角度路由不起作用
如何将 elixir 应用程序从 Windows 开发机器部署到 Ubuntu 服务器
升级到 grub-efi-amd64 后 Ubuntu 18.04 无法启动
部署到 Ubuntu 18.04 的 ASP.NET Core 3.0 应用程序抛出无法加载文件或程序集 System.Diagnostics.TraceSource