问题
I'm trying to install composer on my Website. The Composer documentations suggests running this command:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"`
but when I do, I get an error:
Error in argument 1, char 2: option not found r
I use PHP Version 7.0
What's going on here?
回答1:
I suspect php
in your case is referring to PHP's CGI-SAPI binary instead of the CLI that it should be. As documented in the PHP manual, the CGI-SAPI does not include the -r
option:
Note: -r is available in the CLI SAPI, but not in the CGI SAPI.
You can confirm that this is the case by checking "php
's" version with the -v
flag.
Proper setup should show that php
is a CLI interupter:
C:\Users\HPierce>php -v
PHP 7.0.8 (cli) (built: Jun 21 2016 15:27:20) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
Improper setup might show that it is the CGI SAPI:
C:\Users\HPierce>php-cgi -v
PHP 7.0.8 (cgi-fcgi) (built: Jun 21 2016 15:27:08)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
You can resolve this by referencing the CLI binary with an absolute path instead of the php
shortcut that utilizies your OS's $PATH
environment variable:
C:\php\php.exe -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
回答2:
I had the same problem, and used curl and it worked:
curl -sS https://getcomposer.org/installer | /usr/bin/php7.1-cli
Additionally, to do specific commands to install a package, I needed to specify the php version Composer was installed on, and write "composer.phar" instead of only composer:
php7.1-cli composer.phar require exampleAppDirectory/exampleAppName
来源:https://stackoverflow.com/questions/41491697/composer-install-error-in-argument-1-char-2-option-not-found-r