要在我的共享主机中安装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,除非我在主目录中。
答案 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文件,但在命令行上输入的次数较少。