无法在 PHPStorm 10.0.1 中为 artisan 创建命令行工具

Cannot make command line tool for artisan in PHPStorm 10.0.1

我在尝试为 artisan 创建别名时收到此错误消息: [设置 |工具 |命令行工具支持] -> 添加 -> 基于 Symfony 控制台的工具

问题

Failed to parse output as xml: Error on line 4: Content is not allowed in prolog..

命令

C:\xampp\php\php.exe C:\xampp\htdocs\laratest\artisan list --xml

输出

[Symfony\Component\Console\Exception\RuntimeException]
The "--xml" option does not exist.

好的,我知道这是什么问题,但我找不到任何解决方案。 感谢您的小费!

没有 --xml 选项,当您 运行 此命令时出现此错误:

The "--xml" option does not exist.

所以在这种情况下你应该做的是 运行:

php artisan help list

您将获得所有可用参数的列表

现在你会知道你需要使用:

php artisan list --format=xml

而不是:

php artisan list --xml

编辑

我已经在 PhpStorm 10.0.3 中验证过了

作为您可以粘贴到您的案例中的工具路径:

C:\xampp\php\php.exe C:\xampp\htdocs\laratest\artisan list --format=xml

它会起作用

暂时修改 Laravel 文件夹下的 "artisan" 文件即可。 (使用 PhpStorm 10.0.3)

if( isset($argv[1]) && $argv[1] == 'list' && 
    isset($argv[2]) && $argv[2] == '--xml' ) {
    $argv[2] = '--format=xml';
    $_SERVER['argv'] = $argv;
}
require __DIR__.'/bootstrap/autoload.php';

现在您可以添加 "artisan" 基于 Symfony 的命令行工具支持,并根据需要删除这些行。

对于所有受影响的人,这是移除对 –xml 支持的提交:https://github.com/symfony/console/commit/6d6d9031b9148fed0e2aacb98ac23ce6168ba7ac

只需还原 ListCommand.php

中的更改

它适用于 2.7 版本

在添加命令行工具之前更新作曲家:

composer update