さくらVPSのphpにcomposerを導入

stripe のライブラリの導入に composer が必要だったのでインストールしたときのメモ。

composerのインストール方法

composer が導入されているか → composer が利用できないことを確認

composer --version
-bash: composer: コマンドが見つかりません

composer のインストール方法は公式サイトに載っているのでそれ通りにやるのが安全で確実。

Composer
A Dependency Manager for PHP
cd ~ #ファイルのインストール先はどこでもいいが今回はホームディレクトリ

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

#ファイルに問題はないか。Installer verified と出たらOK
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php #カレントディレクトリに composer.phar ができる

php -r "unlink('composer-setup.php');" #ファイル削除

sudo mv composer.phar /usr/local/bin/composer #パスを通す

インストールされたことを確認

composer --version

composer.json を記述

実際に利用するには composer.json ファイルが必要

composer.json は composer がライブラリやパッケージを管理しているファイル。

composer.json ファイルは手動で作るか、composer init でつくる。今回は後者。composer init を実行するとカレントディレクトリに作られるので、適当なディレクトリに移動、この時は /var/○○○_composer というディレクトリを作ってそこで実行した。

sudo mkdir /var/○○○_composer
composer init

n でスキップするところ以外は全部エンター。

初回はエラーが出た。

file_put_contents(./composer.json): Failed to open stream: Permission denied

書き込むディレクトリに権限がないので、所有者を変更。

sudo chown ユーザー名:ユーザー名 ○○○_composer

再度実行すると、無事 composer.json ができた。

composer についてわかりやすかったページ

PHPで必須!composerを理解しよう
こんな思いをお持ちではないでしょうか。 そこで今回は、PHPで必須のcomposerを解説しました。 comp ...

composer は root で実行しないように推奨されているのでユーザーを変更。
———————————————————————–
su – ユーザー名
———————————————————————–
参考:rootユーザでcomposerコマンドを実行してはダメな理由
https://akamist.com/blog/archives/261

composer が利用できることを確認
——————————————————————————–
composer
——————————————————————————–

インストール参考
https://technoledge.net/composer-install-and-use/
https://laboradian.com/php-composer/
https://qiita.com/inakadegaebal/items/d370bcb1627fce2b5cd1
https://weblabo.oscasierra.net/php-composer-centos-install/

composerディレクトリ構成
http://tadasy.hateblo.jp/entry/2013/10/09/193415

タイトルとURLをコピーしました