2016-09-10 116 views
-2

我只是将laravel 5.1升级到5.2。除了我的播种机以外,一切都很顺利解析错误:升级到laravel后数字文字无效5.2

当我运行播种机,我发现这个错误:

[email protected]:/var/www/sys_pb$ php artisan db:seed 


    [Symfony\Component\Debug\Exception\FatalThrowableError] 
    Parse error: Invalid numeric literal      

我无法找到谷歌搜索上的错误后的溶液。请给我一个相关的建议。感谢

+0

你试过'composer dump-autoload'吗? – follio

+0

您能否提供完整的例外回溯跟踪以及相关代码? – Sherif

+0

@Follio,我也试过。但没有运气 – indi60

回答

2

From the PHP 7 Migration Guide in the Manual

Invalid Octal Literals

Previously, octal literals that contained invalid numbers were silently truncated (0128 was taken as 012). Now, an invalid octal literal will cause a parse error.

Changes to integer handling

因此,这意味着这样的事情在你的代码PHP 7可引起致命解析错误与Invalid numeric literal而以前在PHP 5中它会被忽略。

$arr = [08, 09, 10, 11]; // works in PHP 5, throws fatal error in PHP 7 

this 3v4l为例。

+0

我试着评论所有与数据播种机相关的功能。但它仍然会出现相同的错误。我该如何解决问题?它与symfony有关吗? – indi60

+0

如果它是'Throwable'类型,那么很可能是它来自PHP。 PHP 7中的这个特定的异常是关于在你的php代码中使用无效的数字文字。请参阅答案中的示例。 – Sherif

+0

该解决方案适用于刚刚启动的项目,换句话说,当项目很小时,可以更改它。但是当源代码复杂时,可能需要很长时间才能维护或至少逐个检查。 – indi60

1

我有同样的错误“分析错误:无效的数字文字”。对我而言,它只在数字中使用单引号。 像这样: $ arr = ['08','09','10','11']