在bootstrap / compiled.php中找不到Laravel 4 Class

时间:2013-12-22 17:41:18

标签: laravel-4 composer-php

我使用Git创建了一个新分支,对我的代码应用了一些更新,检查了我的登台服务器上的那个分支,现在我无法运行与作曲家相关的任何内容。

我已经为composer.json添加了一些新的包,它们可以在我的开发环境中运行,但是一旦我在暂存环境中尝试composer update,我就会发现类没有找到与尚未下载的类相关的错误

我试过

composer update
composer dump-autoload
php artisan clear-compiled
php artisan dump-autoload
php artisan optimize

但都会导致以下错误

PHP Fatal error:  Class 'Artdarek\OAuth\OAuthServiceProvider' not found in 
/var/www/sites/x/bootstrap/compiled.php on line 4321

Script php artisan clear-compiled handling the
pre-update-cmd event returned with an error

[RuntimeException]
Error Output: PHP Fatal error:  Class 'Artdarek\OAuth\OAuthServiceProvider'
  not found in /var/www/sites/x/bootstrap/compiled.php
  on line 4321

为了让作曲家下载新文件,我还能尝试什么?

3 个答案:

答案 0 :(得分:10)

php artisan optimize --force

该命令将重新生成/bootstrap/compiled.php

当您的环境处于调试模式时,需要--force arg来重新生成文件。

答案 1 :(得分:0)

我确信有更优雅的方式来解决这个问题(请接受任何提供此问题的答案),但这可以通过删除整个供应商目录并再次运行composer install来解决。

我知道它不漂亮,但有时它更容易,更快。

答案 2 :(得分:0)

我遇到了完全相同的问题,我通过将文件再次通过filezilla上传到我的服务器来解决这个问题。

然而,这并没有解决你与作曲家的问题。这引出了一个问题:假设您正在使用专用服务器,您是否在服务器中全局安装了composer?如果没有,你仍然可以进行php composer.phar更新或just create an alias.

我可能误解了你的问题,并且我意识到你的问题曾被问过一段时间,但希望这会对其他人有所帮助。