无法在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.

好的,我知道,问题出在哪里,但我找不到任何解决办法。谢谢你的提示!

对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';

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

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

只需恢复ListCommand.php 中的更改

它在2.7版本中工作

没有--xml选项,运行以下命令时会出现此错误:

"--xml"选项不存在。

因此,在这种情况下,您应该执行以下操作:

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

并且它将工作

在添加命令行工具之前更新composer:

composer update