调试 Laravel 5 工匠迁移意外 T_VARIABLE FatalErrorException

Posted

技术标签:

【中文标题】调试 Laravel 5 工匠迁移意外 T_VARIABLE FatalErrorException【英文标题】:Debugging a Laravel 5 artisan migrate unexpected T_VARIABLE FatalErrorException 【发布时间】:2015-11-06 03:58:54 【问题描述】:

在 Laravel 5 项目上运行 artisan migrate 时,它会失败并显示以下 FatalErrorException

$ artisan migrate -vvv --force

[Symfony\Component\Debug\Exception\FatalErrorException] 语法 错误,意外的“$table”(T_VARIABLE)

如何获取导致错误的文件和行?

如果无论如何相关,我使用的是带有 WAMP - php 5.6 和 Laravel 框架版本 5.1.10 (LTS) 的 Windows 7 x64 机器。

【问题讨论】:

遇到同样的问题。我已经三重检查了我的迁移文件。他们在本地机器上运行,但在远程错误:( @Sisir 尝试递归运行 php lint 以检查任何语法错误,您可以使用 gist.github.com/mathiasverraes/3096500(如果在 Windows 上,您可以使用 mingw.org 或 git-bash 运行它)跨度> find . -type f -name '*.php' -exec php -l \; |grep -v "No syntax errors detected" 是一种你可以使用的单线 - 信用:gist.github.com/k3n/1846220#gistcomment-2148283 【参考方案1】:

这个类 Symfony\Component\Debug\Exception\FatalErrorException 与其他 Exception 类相比有一些差异,并且它没有被“错误渲染器”或“错误通知器”正确呈现。 p>

一个新的sentry“错误通知器”(“getsentry/sentry-php”版本>=“2.0”)会给你一个正确的堆栈跟踪。

这是报告的问题:https://github.com/getsentry/sentry-php/issues/761 这里是修复的 PR:https://github.com/getsentry/sentry-php/pull/763

【讨论】:

【参考方案2】:

可能有分号或括号缺少一行

Check all in your migration files.

Laravel 已配置为为您的应用程序创建每日日志文件 存储在 storage/logs 目录中。

http://laravel.com/docs/5.1/errors#logging

【讨论】:

我确实手动检查了它们,但找不到错误,所以我想知道某处是否有日志文件或命令参数可以为我提供完整的堆栈-跟踪或此错误源自的文件和行。 非常感谢!我希望它会在您使用 artisan 进行迁移时向您显示日志文件中报告的错误。

以上是关于调试 Laravel 5 工匠迁移意外 T_VARIABLE FatalErrorException的主要内容,如果未能解决你的问题,请参考以下文章

工匠迁移:laravel 5.3 中的回滚错误

Laravel 5.2 工匠“迁移”不起作用

Php工匠迁移失败Laravel [重复]

Laravel工匠迁移不创建新表

Laravel 工匠迁移失败

Laravel Php 工匠制作迁移错误