无法在PHPStorm 10.0.1中为工匠制作命令行工具

时间:2015-12-22 18:37:35

标签: php xml phpstorm artisan laravel-5.2

当我尝试为工匠制作别名时,我收到此错误消息: [设置|工具|命令行工具支持] - >添加 - >基于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.

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

4 个答案:

答案 0 :(得分:11)

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”命令行工具支持,并根据需要删除这些行。

答案 1 :(得分:1)

对于受影响的每个人,这是删除对-xml:https://github.com/symfony/console/commit/6d6d9031b9148fed0e2aacb98ac23ce6168ba7ac

的支持的提交

只需还原ListCommand.php中的更改

它适用于2.7版本

答案 2 :(得分:0)

没有--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

它会起作用

答案 3 :(得分:-1)

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

composer update