我是symfony2和symblog的新手。在第三章中,当我尝试使用数据fixture时,我尝试了命令:

php的作曲家。phar更新

但我发现了一个错误:

无法打开输入文件:composer.phar

所以我谷歌了一下,试了试

php composer.phar install

但还是得到相同的错误。因此,请指导如何使用wamp在symfony2中安装新的扩展或数据fixture之类的编写器。


当前回答

当我试图从http://getcomposer.org/download页面在windows 7机器上安装composer时,我已经接触到这个问题。由于有一个现有的合成版本(由acquia Dev Desktop工具提供),安装失败,唯一的机会是手动修复这个问题。(或删除Dev Desktop工具编写器)。

无论如何,错误消息是相当直截了当的(无法打开输入文件:composer.phar),然后我们应该告诉系统文件的位置。

编辑composer.bat文件,看起来应该像这样:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;%PATH%
php.exe composer.phar %*

看那个作曲家。Phar没有文件路径。当站在不同的文件夹,而不是一个作曲家。Phar已被定位,系统将无法找到它。所以,完成作曲。Phar文件路径:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;;%PATH%
SET composerScript=composer.phar
php.exe "%~dp0%composerScript%" %*

重新打开窗口控制台,这样就可以了。

编辑:这有一个问题,因为它总是使用%~dp0%composerScript% 文件夹作为编写器执行。所有的构型都在里面完成 文件夹(除了站在你当前的项目文件夹),而不是在你的项目文件夹。 到目前为止,我还没有找到一个是让手动编写器安装 在Windows上全球工作。也许你应该继续使用上面提到的用于windows安装的composer。

其他回答

我知道我的回答对于嵌入式QNAP服务器来说可能太具体了,但我在这里尝试安装Yii:

对我来说,通过PuTTY在QNAP NAS中,在尝试了以上所有技巧后,更新PATH无效,唯一有效的cmd行是:

 /mnt/ext/opt/apache/bin/php /usr/local/bin/composer create-project yiisoft/yii2-app-basic basic

当然,要相应地调整你的路径……

如果我使用哪个composer,我有一个正确的答案,但如果我使用哪个php,没有任何返回。

除此之外,试着逃跑

/mnt/ext/opt/apache/bin/php composer create-project yiisoft/yii2-app-basic

或指

composer.phar

也没用……

对于Windows:)

composer update
composer self-update 

你被要求获得用户许可

还有一个命令:

composer require that_extention_you_want 

(而不是第一个:PHP composer。phar that_extention_you_want)

昨天,我试图在Windows 10上安装Yii2框架,运行这个命令时遇到了同样的问题(无法打开输入文件:composer.phar):

php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

问题是作曲家。PHR文件不在当前目录中,您需要给出完整路径编写器。phr像

php C:\ProgramData\Composer\bin\composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

或者你可以使用以下命令创建yii2项目:

 composer create-project yiisoft/yii2-app-advanced advanced 2.0.9

Or

composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

你的作曲家。法尔应放在上述方式。

背景

了解有两种方法可以安装(和使用)Composer:在本地作为项目目录中的文件,或在全局范围内作为系统范围内的可执行文件。

在本地安装Composer仅仅意味着您正在下载一个文件(Composer . exe)。phar -这是一个PHP存档)到您的项目目录。您必须为每个需要Composer的项目下载它。

就像你想在命令行上执行的常规PHP文件一样,你必须用PHP运行它:

php composer.phar update

它基本上告诉php可执行文件运行文件编写器。Phar以update作为参数。

但是,如果您全局安装它,您可以使composer本身可执行,因此您可以在没有php的情况下调用它(并且不必为每个项目下载它)。换句话说,你可以这样使用composer:

composer update

因为你正在执行php composer。phar更新,你得到的错误无法打开输入文件:作曲家。Phar,你可能没有作曲家。Phar在当前目录中。

解决方案

如果全局安装了Composer,只需运行Composer update而不是php Composer。phar更新。

如果你还没有安装Composer,使用以下命令下载PHAR:

curl -sS https://getcomposer.org/installer | php

这将下载安装程序并使用php运行它。安装程序将下载实际的Composer PHAR到当前工作目录,并使其可执行。

要全局安装Composer(我推荐这样做),请将文件复制到PATH中的某个位置。具体位置因操作系统和设置而异,更多信息请参见https://getcomposer.org/doc/00-intro.md#globally。

就我个人而言,我更喜欢在我的主目录中安装Composer,这样我就不需要sudo来安装或更新Composer可执行文件(这可能存在安全风险)。当我在Linux上时,我使用以下命令:

mv composer.phar ~/.local/bin/composer