この記事を執筆している現在、このサイトはXreaの共用レンタルサーバーを使わせていただいています。Composerを使用して使えるようになるライブラリなどを利用するため、いろいろ試行錯誤しました。このページでは、Xreaについて特化して書いていきます。ほかのレンタルサーバーにも応用できることもあると思うので、参考にしてみてください。
SSHを使用できない環境でComposerを使用する方法は、この記事で方法を解説しています。
スポンサーリンクSSHへのログイン
最初の関門はこれです。SSHになかなかログインできないという…
1回やってしまえばあとは楽なのですが。
それでは、手順を書いていきます。
- Xreaのコントロールパネルから、「サイト設定」->「ツール/セキュリティー」を開きます。
- 「SSH接続IP許可」のボタンを押し、自分のIPアドレスからのSSH接続を許可してやります。注意点は、ボタンを押してから30日を超えると、許可が取り消されることです。
- 許可したら、SSH接続ソフトから接続していきます。Windows環境の自分の場合はFireSSHやTera Term VTを使います。ホスト、ユーザー名(ログイン名)、パスフレーズ(パスワード)はFTPアカウントと同じものを入力します。FireSSHの場合、「アカウント名」というのは、ただのアカウントにつける名前なので、自分で好きなように決めてください。
- 接続します。
これで行けると思います。bashが起動してくれます。当然ですが、Windowsユーザーの場合、コマンドプロンプトと同じコマンドを打っていては、動いてくれません。Linux系OSでのコマンドを覚えましょう。lsとか。
Composerを拾ってくる
Composerを動かしたいところで
curl -sS https://getcomposer.org/installer | php
と打ちましょう。composer.pharがダウンロードされます。(composerの実行ファイル)
本来はこのファイルをパスの通ったところに移動させますが、レンタルサーバーではパスが通る場所へのアクセスができなかったりするので、composerを動作させたいところ全部においてしまえば確実でしょう。(笑)
PHPをCLI版で動作させる
composerを起動するには
php composer.phar
を実行したくなりますが、少し違うことが多いです。通常のphpコマンドではCGI版が動作することが多く、CLI版というものを使わなければ、エラーとなります。CLI版のPHPの場所については、レンタルサーバーのマニュアルに書いてある場合はそれを使用してください。書かれていない場合も多いですが…。
いくつかのレンタルサーバーのマニュアルへのリンクを置いておきます(が、ほとんど役に立ちませんでした…)。
XSERVER (書いてありました!)
SAKURA (CLI版の場所が書かれていませんが、/home/rs/php/7.2/bin/php 等がそれに該当すると思います。)
Xrea (CLI版の場所が書いていないため、記事の続きで探していきます。結論だけ書くと/usr/local/bin/php70cli 等となります。)
StarServer (場所は書かれていますが、そもそもSSHを使えないため、Composerの使用は難しいです。実験としてPHPのexecコマンドで使用を試みましたが、Request exceeded the limit of 10 internal redirectsというエラーが出て止まりました。)
マニュアルに書かれていない場合は
/usr/local/bin/
や
/usr/bin/
等にあることが多いので、そこから探して使います。バイナリファイルのディレクトリはレンタルサーバーごとに異なりますので、ご自身で調べてみてください。
XreaでCLI版PHPの実行ファイルを探していきます。
SSHで
cd /usr/local/bin/
ls
と入力すると、ファイルのリストが出てきます。
PHP70をご利用の方は"php70cli"というファイルとなります。
※ご利用中の環境によっては違う名前になっている可能性があります。適宜読み替えてください。
使いたいバージョンのPHP実行ファイルの場所と名前を覚えておきます。それを、"php"の代わりに打ちます。例えば、PHP7.0のCLI版を使ってComposerを動かしたいときは、Composerを動作させたいディレクトリにて、
/usr/local/bin/php70cli composer.phar
と打ちます。そうすると、
アスキーアートが浮かび上がります。これでComposerを使うことができるようになりました。
必要なことを記述したcomposer.jsonファイルをpharファイルと同じディレクトリに用意し、
/usr/local/bin/php70cli composer.phar install
と打ってしまえば、完了です。"php70cli"の部分はご利用のPHPバージョンに合わせてください。
うまく動かない場合は、コメントで症状を書き込んでいただければ、返信するかもしれません。
お疲れさまでした。