CentOS 7サーバーには複数のバージョンのPHP(5.6および7.2)がインストールされています。
インターネット検索CentOS 7 Composerのインストールには、次の手順に従って他のブログのすぐ下に同じガイドがあるようです。
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ chmod +x /usr/local/bin/composer
$ composer -V
Composer version 1.5.2 2017-09-11 16:59:25
しかし、これはすぐにエラーを発生させます。だからこのコマンドを変更しました。
$ curl -sS https://getcomposer.org/installer | php
到着する:
$ curl -sS https://getcomposer.org/installer | php72
ファイルがダウンロードされましたが、作曲家-V(他のステップ以降)を使用しようとすると、次のエラーが発生します。
/usr/bin/env: php: そのファイルやディレクトリはありません。
/usr/local/bin/composer
だから一番上の行を見たいです。
#!/usr/bin/env php
私はそれを次のように変更しました。
#!/usr/bin/env php72
しかし、composer -V
現在の慣行は次のとおりです。
PHP Fatal error: Uncaught PharException: phar "/usr/local/bin/composer" has a broken signature in /usr/local/bin/composer:23
Stack trace:
#0 /usr/local/bin/composer(23): Phar::mapPhar('composer.phar')
#1 {main}
thrown in /usr/local/bin/composer on line 23
私は同じ結果でphp56を使ってみました。
複数のPHPバージョンを実行しているCentOS 7サーバーにComposerを正しくインストールする方法は?
注:これがスーパーユーザーに良いことを教えてください。
ベストアンサー1
それはすべて使用したいPHPのバージョンによって異なります。 php56を使用してComposerをインストールしようとしたときに発生するエラーを表示できますか?
とにかく、「php」は実際のPHPバイナリへのシンボリックリンクです。あなたの場合は、PHP 56を指しているようです。シンボリックリンクでls -lを実行し、次のように入力して見つけることができます。
whereis php
したがって、チェーン全体をphp72にしたい場合は、シンボリックリンクをphp72バイナリを指す新しいシンボリックリンクに置き換えてください。または、別名を使用することもできます。
alias php="/path/to/php72"