042013

解决Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI

分类: PHPlixiphp @ 3:38 下午

在运行的PHP FastCGI 环境中安装Composer时,遇到这个问题:

drupalon@lixiphp.com [~/public_html/demo/gitlist]# php composer.phar install
Content-type: text/html

Warning: Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI

Fatal error: Uncaught exception ‘ErrorException’ with message ‘Undefined index: argv’ in phar:///home5/drupalon/public_html/demo/gitlist/composer.phar/vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php:57
Stack trace:
#0 phar:///home5/drupalon/public_html/demo/gitlist/composer.phar/vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php(57): Composer\Util\ErrorHandler::handle(8, ‘Undefined index…’, ‘phar:///home5/d…’, 57, Array)
#1 phar:///home5/drupalon/public_html/demo/gitlist/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(111): Symfony\Component\Console\Input\ArgvInput->__construct()
#2 phar:///home5/drupalon/public_html/demo/gitlist/composer.phar/src/Composer/Console/Application.php(83): Symfony\Component\Console\Application->run(NULL, Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 phar:///home5/drupalon/public_html/demo/gitlist/composer.phar/bin/composer(43): Composer\Console\Application->run()
#4 /home5/drupalon/public_html/demo/gitlist/c in phar:///home5/drupalon/public_html/demo/gitlist/composer.phar/vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php on line 57

错误提示PHP Composer 无法在CGI/FastCGI 中安装,需要切换到 CLI 模式下安装。

composer-install-cli PHP Composer 需要切换到 CLI 模式下安装

Composer 解决方法

Symfony Fatal error: Uncaught exception ‘ErrorException’ with message ‘Undefined index: argv’ in Symfony/Component/Console/Input/ArgvInput.php:57

设置php.ini为以下值:

register_argc_argv=On

或者直接通过PHP CGI 命令行安装 Composer:

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

注意:PHP CLI 模式下默认register_argc_argv=On。

安装结果:

#!/usr/bin/env php
All settings correct for using Composer
Downloading…

Composer successfully installed to: /home5/drupalon/public_html/demo/gitlist/composer.phar
Use it: php composer.phar

查看Composer是否安装成功:

# php-cli composer.phar -V
Composer version 7b72ce1b51ea075911226bf604625fed82399559

获取到Composer version,说明安装成功!

文章为LixiPHP原创,本文地址:http://blog.lixiphp.com/php-composer-install-and-use/

PHP 环境检查

默认PHP 环境为PHP FastCGI:

# php -v
PHP 5.3.25 (cgi-fcgi) (built: May 11 2013 17:26:37)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

使用PHP CLI模式:

# php-cli -v
PHP 5.3.25 (cli) (built: May 11 2013 17:26:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

如果你有什么问题,请在评论中留言!

除非注明,文章均为LixiPHP原创,转载请注明本文地址:http://blog.lixiphp.com/php-composer-cli-install/

标签: , , , ,


欢迎写下您的评论,其中 * 为必填项目

这里写下你想说的话

 wink neutral mad twisted :) eek sad rolleyes razz redface surprised mrgreen lol idea biggrin evil cry cool arrow confused question exclaim