【问题标题】:Composer update causing Laravel to not find class on serverComposer 更新导致 Laravel 在服务器上找不到类
【发布时间】:2014-05-21 06:21:17
【问题描述】:

这是我发现的一件非常奇怪的事情。我在我的 Windows 7 系统上使用 Laravel 的工作台。一切正常,我什至将这些包拉到我的 Windows 环境中的其他项目中,一切都很好。

问题是当我将它安装在我的 CentOS 服务器上时,它说找不到类 ClassController@index。现在,这是奇怪的部分,我可以运行 composer dump-autoload -o 并且一切运行顺利,直到我更新我的包,我需要重新运行 composer dump-auoload -o。

谁能弄清楚我需要改变什么,以便它总能找到我的班级?或者这可能是 Laravel 中的一个错误?

我的控制器在我的 composer.json 中的自动加载类映射中列出。

我将不胜感激。

【问题讨论】:

    标签: php laravel composer-php


    【解决方案1】:

    如果您指的是包开发工作台,您还需要在包的根文件夹中运行composer install

    还有: dump-autoload 命令上的-o 标志会将所有类加载器转换为类映射。因此,如果运行它可以解决您的问题,我猜问题在于您的 PSR-0/4 自动加载器或类命名空间。

    【讨论】:

    • 已经这样做了,而且还在继续。我刚刚在我的主 laravel 目录中运行了 composer install 并修复了其中的一部分,但除非我运行 dump-autoload -o,否则我的其他软件包仍然会收到相同的消息。
    • @CheckeredMichael 我不确定我理解你的意思。添加一些有关文件夹结构的更多信息会很有帮助。
    • 另外,@CheckeredMichael 的 -o 转储自动加载标志会将所有 PSR-0/4 类加载器转换为类映射。因此,如果运行它可以解决您的问题,我敢打赌问题出在您的 composer.json 类加载器上。
    • 我会看一下并将我的文件结构添加到此。这是在我的 Windows 环境中完美运行的问题之一,但在 Linux 上却不行,所以只是试图找出确切的问题。
    • 找出它是什么,这是因为我的自动加载类映射中没有控制器。出于某种原因,这在我的 Windows 机器上并不重要,并且工作得很好。但是我已经解决了这个问题。 :)
    猜你喜欢
    • 2016-06-19
    • 2013-10-16
    • 2016-02-14
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2020-07-28
    相关资源
    最近更新 更多