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

What does the command php bin/composer.phar do?

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

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

然后我被告知运行:$ php bin/composer.phar

然后我能够使用 Composer,运行ning 确认:

$ composer.phar -V 
Composer version 1.0-dev

谁能解释一下命令 php bin/composer.phar

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

.phar 文件是一个 ZIP-like 文件,其中包含构成 PHP 应用程序的所有文件,以及文件 header 中的一些初始代码添加一些东西,然后将执行转移到第一个压缩文件。

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

命令 composer.phar 仅在该文件已用 x 文件标志标记以使其可执行且位于 $PATH 环境变量中提到的目录中时才有效. PHAR 文件的一部分是文件 header 的第一行,称为 "shebang"。该行用于命令行的所有脚本文件,以指定应该用于执行该文件的解释器。在 composer.phar 的情况下,这个解释器是 PHP。因此,本质上,与第一次调用发生的事情相同:PHP 是 "running" PHAR 文件,但在命令行上键入的内容较少。