执行没有php前缀的php脚本

时间:2016-12-19 01:05:48

标签: php composer-php

现在,在Composer,我正在尝试运行PHP单元测试。这是我的composer.json

{
    "require-dev": {
        "phpunit/phpunit": "^5.7"
    },
    "autoload": {
        "classmap": ["src"]
    }
}

要运行它,我必须这样做:php vendor/bin/phpunit --colors tests

实际上,我想删除php前缀并执行phpunit --colors tests

我在视频教程中已经看过很多次第二种方式,他们是如何做到的?

我在MBPr上运行PHP 7.1.0RC6

1 个答案:

答案 0 :(得分:2)

php不是前缀,而是解释器的名称。

如果你ls -al vendor/bin/phpunit你可以看到它是可执行的,如果你head vendor/bin/phpunit -n1,你会看到指向解释器的hashbang。这样 php前缀就是多余的。 ./vendor/bin/phpunit --colors tests也同样如此。

要将其转为phpunit --colors tests,您可以使用评论中提到的simlinks,别名等。它在dockerized应用程序中可能非常方便,但如果你有多个项目可能安装了不同版本的phpunit,我不会推荐它。

至于在线文档或视频教程,它们可能来自phpunit的石器时代,当它可用作梨包时。