Laravel 5 - Php 工匠语法错误
Posted
技术标签:
【中文标题】Laravel 5 - Php 工匠语法错误【英文标题】:Laravel 5 - Php artisan syntax error 【发布时间】:2015-11-25 13:45:42 【问题描述】:我目前正在使用 Laravel 5 开发应用程序,但工匠突然停止工作!
我不能对它使用单个命令,它总是返回错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
syntax error, unexpected ',', expecting variable (T_VARIABLE)
我试图通过作曲家更新,但当工匠试图清除编译时
Command: composer update
> php artisan clear-compiled
[Symfony\Component\Debug\Exception\FatalErrorException]
syntax error, unexpected ',', expecting variable (T_VARIABLE)
以前有人遇到过这个错误吗?
我的php版本是5.6.8
【问题讨论】:
您最近没有移动到另一个 Web 服务器吗?你的 php 版本是多少? 删除完整的供应商文件夹,然后再次运行“composer update”命令 app.php 或配置文件中的任何地方都是错误的。 laravel.log 记录什么? 看起来您要么在某处添加了,
,这会导致语法错误,要么是您的 php 版本。 cd 到您的网站目录并在您的终端中运行find . -name \*.php -exec php -l "" \;
。如果它想出了很多东西,那可能是你的php版本。
@EimantasGabrielius 我的 PHP 版本是 5.6.8,我没有移动到另一个网络服务器。
【参考方案1】:
我发现了错误!
我的 routes.php 文件有语法错误...
function($id,**name**,**value**)
忘记了 $ 符号,因此发现了一个意外的 ','。
谢谢大家的帮助!
【讨论】:
是的,Laravel 5.3 的 routes/web.php 中的语法错误会导致此错误。 谢谢,我自己也不会解决这个问题。这也是导致我的问题的原因。【参考方案2】:试试这个命令:
php -S localhost:8000 -t public
然后在浏览器上执行,会报错,看看报错就解决了。
【讨论】:
谢谢,这个想法很棒,显示错误堆栈跟踪 这就是我需要的!!【参考方案3】:而不是使用命令提示符执行命令。 很容易查看在位置/目录中找到的 LOG 文件
storage/logs/laravel.log
我确定,您可以轻松检查日志文件并修复语法错误。
【讨论】:
我会说这是调试错误的最佳方法【参考方案4】:我最近遇到了同样的错误,尽管该错误可能与您的错误原因不同。原来我们最近更新到 PHP 7 而我还没有升级。该问题是由在函数上设置的返回类型引起的,我的本地版本的 php.ini 不支持该类型。对 Homestead 进行了更新,升级了我的 PHP 版本并修复了问题。
【讨论】:
【参考方案5】:尝试使用 verbose 参数运行,如下所示:
php artisan ... --verbose
【讨论】:
【参考方案6】:这些解决方案都不总是有效的。
php artisan tinker --verbose 通常不会为您提供显示错误来源的堆栈跟踪。
在浏览器中运行也不会总是报错。
解决方案很简单: 查看 storage/logs/laravel.log 那里将显示完整的堆栈跟踪
为了便于查找(如果文件很大),请打开文件,删除所有内容,运行 tinker,然后返回时只会出现特定的错误信息。
希望这对其他人有帮助
【讨论】:
【参考方案7】:我在 routes.php 中收到了同样的错误。 我给错了路线。
我用Route::get('/admin' , AdminController@index);
代替Route::get('/admin' , 'AdminController@index');
我忘记了单引号。请检查你的。
【讨论】:
以上是关于Laravel 5 - Php 工匠语法错误的主要内容,如果未能解决你的问题,请参考以下文章