在共享主机上安装作曲家



我第一次尝试在我的共享主机上安装作曲家。

当我跑curl -sS https://getcomposer.org/installer | php 我正在成功安装
作曲家用户它:php composer.phar

当我运行php composer.phar时,我收到这个交战错误:

警告:作曲家应该通过 PHP 的 CLI 版本调用,而不是 cgi-fcgi SAPI

关于如何解决此问题的任何想法? 以及为什么我收到此错误? :(

当我跑php -v我把它找回来

PHP 5.4.39 (cgi-fcgi) (built: Mar 25 2015 14:20:20)  
Copyright (c) 1997-2014 The PHP Group  
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies  
    with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies

如果需要,我需要使用 CLI 版本运行它吗?

任何帮助都会很好,谢谢。

我通过显式调用它要求的PHP版本来解决这个问题。请记住,在共享服务器环境中,通常会运行多个版本的 PHP,即使您可能在 cPanel 配置中设置了默认值,bash 命令也经常解析为另一个(较低)版本。

首先,我创建了一个bin目录,并将composer.phar移到了其中。然后,我将这个别名添加到我的.bash_profile中,它就像一个魅力:

alias composer="/usr/php/54/usr/bin/php-cli ~/bin/composer.phar"

希望这有帮助!

由于Composer现在可以通过WHM获得,您可以使用它来查找它:

which composer

这为我返回了路径"/opt/cpanel/composer/bin/composer"。如果这没有返回任何内容,则忽略此答案的其余部分,因为 Composer 在系统级别不可用。

现在,您可以使用 php-cli 通过 Composer 的绝对路径来调用它:

php-cli /opt/cpanel/composer/bin/composer install
php-cli /opt/cpanel/composer/bin/composer update
php-cli /opt/cpanel/composer/bin/composer require whatever/example

但是,如果您的系统声称找不到,则可能需要php-cli别名。这在很大程度上取决于PHP在WHM服务器上的部署方式。您可以通过在".bashrc"文件的末尾添加用户别名来执行此操作,如下所示:

alias php-cli=/opt/cpanel/ea-php72/root/usr/bin/php

ea-php72替换为您要使用的 PHP 版本。在 shell 中将其作为命令提交以使其立即可用,否则它将在您打开下一个 Bash 会话时变为可用。

如果你想只用

composer就可以使用它,你可以在".bashrc"中再次创建这个别名:

alias composer=/opt/cpanel/ea-php72/root/usr/bin/php /opt/cpanel/composer/bin/composer

php-cli $(which composer) ...

安装的 php 版本的位置因主机而异。尝试通过以下方式查找它们:

locate /bin/php

对我来说,这列出了所有 php 版本,然后我可以将 php 替换为,例如:

/usr/bin/php71-cli

访问命令行界面版本而不是默认的 cgi 版本。然后如@Diggery所述,您可以创建别名。

alias composer='/usr/bin/php71-cli bin/composer.phar'

关于如何测试 cli 安装的 StackOverflow 有很多建议,但以上是唯一对我有用的建议。

我制作了一个脚本来处理作曲家/供应商的更改。该脚本适用于仅 ftp 的服务器,仅发送/删除更改的文件。也许有人会发现它很有用。

https://github.com/psad73/tune-composer

相关内容

  • 没有找到相关文章

最新更新