Laravel 5.4 Artisan 迁移失败,显示“Call to undefined method dispatch()”。

8

我有一个Laravel 5.4应用程序,在本地运行良好。但是在尝试将其放到生产服务器上时,我无法运行迁移。以下是错误的一部分:

PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method Illuminate\Events\Dispatcher::dispatch() in /path/to/app/vendor/laravel/framework/src/Illuminate/Console/Application.php:56

非常感谢您的帮助。 编辑 我刚刚尝试运行php artisan --help,但是出现了相同的错误。

你不能使用迁移,所以你是否使用了 --pretend 选项来更新数据库结构? - Fran Cerezo
4个回答

11

请删除/bootstrap/cache/文件夹下的所有文件并运行以下命令

php artisan cache:clear
php artisan view:clear

这应该能解决你的问题。


1
@RogerCreasy 你删除了 /bootstrap/cache 文件夹吗? - Daniel
抱歉...匆忙尝试修复...没有完全阅读。一会儿就会解决。 - Roger Creasy
现在,这两个都会报错,laravel.log无法打开。 - Roger Creasy
但是...为了好玩,我尝试运行迁移,它们成功了!现在删除操作是否会导致其他问题? - Roger Creasy
@RogerCreasy 这只是缓存,不应该影响其他任何东西。 - Daniel

2
我认为你的Composer没有更新。尝试卸载Composer,然后重新安装它。或者尝试更新composer.phar。可能是你使用的Laravel版本之间存在版本问题。

0

对我来说,运行“composer update”解决了这个问题。


0

我曾经遇到过同样的问题,并通过以下方式解决:

  1. 连接到我的生产服务器。
  2. 进入 bootstrap/cache 目录,运行 rm compiled.php 命令删除 compiled.php 文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接