Laravel: PHP Artisan 突然停止工作。

3

我知道有很多问题,但我的问题似乎没有适合的。

我正在使用laravel。一个小时前php artisan还能正常工作。之后我只是创建了一个控制器、一个模型和几个视图blade。

现在artisan根本就不工作,而且没有任何错误提示。甚至php artisan --version也不会显示任何内容。

没有做任何重大更改,例如composer安装、更新或安装任何新包。服务器配置也没有更改。只是在控制器、模型和视图上进行了基本编码。

不确定是什么原因导致这种情况。可能是什么原因,我该如何开始调试?


请通过运行 php -v 确保问题出现在 Artisan 中。此外,请查找 Laravel 日志文件中的错误。 - Alexey Mezenin
@derdida 是的,我在项目文件夹中使用 ls 命令可以看到我的文件和 artisan 文件。你所说的“正确的错误信息”是什么意思? - cjmling
1
您的应用程序是否启用了调试功能?Artisan 是 Laravel 的一个集成部分(这意味着它使用控制台应用程序实例,该实例将停止执行来自应用程序任何部分可能出现的任何数量的错误)。例如,应用程序代码中的语法错误可能是常见的罪魁祸首,这将阻止 Artisan 工作,如果未启用调试,则不会显示错误(仅记录)。 - Bogdan
2
进入您的项目目录,并尝试通过运行以下命令对整个目录进行代码检查:find -L ./ -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l | grep "Errors parsing"。如果存在任何语法错误,它将输出第一个出现错误的文件、行数和错误信息。 - Bogdan
@Bogdan 太好了,非常感谢你提供的命令。只是因为语法错误导致的问题。这个命令帮助我找到了错误。你可以将其发布为答案,我会接受它。再次感谢 :) - cjmling
显示剩余2条评论
2个回答

3

Artisan是Laravel的一个集成部分,这意味着它使用控制台应用程序实例来运行命令,并且会在来自应用程序任何部分的错误时停止执行。

语法错误可能是一个常见的罪魁祸首,会导致artisan无法工作,如果没有启用调试,则不会显示错误(只记录),因此在运行命令时没有输出。

要搜索语法错误,请转到项目目录并尝试通过运行以下命令对整个目录进行lint:

find -L ./ -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l | grep "Errors parsing".

如果存在语法错误,该命令将输出第一个出现错误的文件、发生错误的行以及错误消息。

1
在我的情况下,文件和语法没有问题。但是当我重新安装依赖项时,它就可以工作了。
在您的工作目录中运行以下命令: composer install 这样就可以解决问题了。

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