命令php bin / composer.phar有什么作用?

时间:2015-08-25 22:01:05

标签: php composer-php phar

要在我的共享主机中安装Composer,我从我的主目录运行:

$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

然后我被告知要跑:$ php bin/composer.phar

然后我就可以使用Composer,通过运行确认:

$ composer.phar -V 
Composer version 1.0-dev

有人可以解释一下php bin/composer.phar命令吗?

是否只是告诉php解压缩.phar文件?如果是这样,它将它打包到哪里?运行后我看到bin/bin/composer.phar*。然后我必须使用phar文件的整个路径来运行composer,除非我在主目录中。

1 个答案:

答案 0 :(得分:2)

.phar文件是一个类似ZIP的文件,其中包含构成PHP应用程序的所有文件,文件头中的一些初始代码设置了一些内容,然后将执行转移到第一个压缩文件

命令php bin/composer.phar正在调用PHP并将phar文件作为参数来使PHP执行该文件。这将使PHP读取该文件,找到带有引导代码的头并执行它。 PHP将初始化PHAR执行并进一步进入该压缩文件。

命令composer.phar仅在该文件已标记为x文件标志以使其可执行时才有效,并且它被放置在$PATH环境变量中提到的目录中。 PHAR文件的一部分是文件头的第一行,称为“shebang”。此行用于命令行的所有脚本文件,以指定应用于执行文件的解释器。在composer.phar的情况下,此解释器是PHP。所以从本质上讲,同样的事情发生在第一次调用时:PHP正在“运行”PHAR文件,但在命令行上输入的次数较少。