さくらのレンタルサーバにCakePHP3をインストール

さくらのレンタルサーバにCakePHP3をインストール 技術的なこと
この記事は約8分で読めます。

下記のサイトを参考にさくらレンタルサーバーのスタンダードプランにCakePHP3をインストールしてみました。うまくいったので処理画面のキャプチャー画像つきで手順をまとめておきます。

ページが見つかりませんでした | moshimore knowledge

 

 

まず、さくらのサーバーのPHPバージョンを確認

さくらのレンタルサーバにCakePHP3をインストール

管理画面で確認するとこんな感じです。PHP5.6になってます。

 

 

さくらのレンタルサーバにCakePHP3をインストール

TeraTermでSSH接続した場合は、「php -v」で確認。こっちもPHP5.6になってますね。

 

 

 

phoinfoにintl が入ってないことを確認

さくらのレンタルサーバにCakePHP3をインストール

phpinfo();

と書いたファイルをアップロードしてブラウザからアクセス。表示された設定情報から「intl」を検索して、何もヒットしないことを確認します。入っていればそのままCakePHP3インストールできるんですが、入ってないのでライブラリインストールに移ります。

 

 

 

インストールディレクトリの作成

さくらのレンタルサーバにCakePHP3をインストール

インストールするためのディレクトリを作ります。

 

 

 

icuライブラリのインストール

さくらのレンタルサーバにCakePHP3をインストール

インストールするディレクトリに移動し、icuライブラリのソースファイルをwget でゲットします。

 

 

さくらのレンタルサーバにCakePHP3をインストール

icu4c-58_2-src.tgz というファイルのダウンロード完了です。

 

 

さくらのレンタルサーバにCakePHP3をインストール

icu4c-58_2-src.tgz をtar コマンドで解凍します。.zipファイルをunzipするのと、似たような作業です。

 

 

さくらのレンタルサーバにCakePHP3をインストール

解凍完了しました。

 

 

さくらのレンタルサーバにCakePHP3をインストール

icu/source/ ディレクトリに移動して、./configure コマンド実行します。

 

 

さくらのレンタルサーバにCakePHP3をインストール

「ICU for C/C++ 58.2 is ready to be built.」のメッセージも出てますし、いつでもビルドOKだよって感じになってます。

 

 

さくらのレンタルサーバにCakePHP3をインストール

ls コマンドでどんなファイルができてるのか眺めてみて、gmakeコマンドします。

 

 

さくらのレンタルサーバにCakePHP3をインストール

gmakeが終わりました。

 

 

さくらのレンタルサーバにCakePHP3をインストール

ls コマンドでどんなファイルができてるのか眺めてみます。binディレクトリとlibディレクトリが増えたみたいです。

 

そして、gmake installコマンド実行。これでICUライブラリのインストールは終了です。

 

 

 

intlモジュールのインストール

さくらのレンタルサーバにCakePHP3をインストール

~/local/src ディレクトリに移動して、intlの元ファイルをwget でゲットします。

 

 

さくらのレンタルサーバにCakePHP3をインストール

tarコマンドで intl-3.0.0.tgz を展開。

 

 

さくらのレンタルサーバにCakePHP3をインストール

後で使うためのPHPの設定ファイルの場所を確認します。

 

 

さくらのレンタルサーバにCakePHP3をインストール

intl-3.0.0 ディレクトリに移動してphpizeコマンドを実行。

 

そして ./configureコマンドを実行します。

 

オプションの「–with-php-config=/usr/local/php/5.6/bin/php-config」の5.6の部分は、一番初めに確認したPHPバージョンに合わせます。

 

 

さくらのレンタルサーバにCakePHP3をインストール

ビルドの準備ができました。

 

 

さくらのレンタルサーバにCakePHP3をインストール

満を持してmakeコマンド実行。

 

 

さくらのレンタルサーバにCakePHP3をインストール

これでintl.soが出来上がります。

 

 

 

intlモジュールのコピー

さくらのレンタルサーバにCakePHP3をインストール

ホームディレクトリに戻り、intl.so を置くディレクトリを作ります。先ほどビルドしたintl.soを作ったディレクトリにコピーします。

 

 

 

php.iniの設定

さくらのレンタルサーバにCakePHP3をインストール

さくらのサーバー管理画面の「PHP設定の編集」からphp.iniに追記します。追記したのはintl.soを参照してちょうだいね、という内容です。

 

 

さくらのレンタルサーバにCakePHP3をインストール

phoinfoの情報をブラウザで確認すると、intlが追加されていることがわかります。

 

 

さくらのレンタルサーバにCakePHP3をインストール

ただ、SSHシェルの方で、「php -i | grep intl」とチェックしてもintlが出てきません。シェルの方php実行した時は、さきほど編集した/home/USERNAME/www/php.ini を読み込んでいないのが原因です。

 

「php -c オプション」で「/home/USERNAME/www/php.ini」を読み込むように明示してやると、intlが出てきます。

 

 

 

cshrcの設定

さくらのレンタルサーバにCakePHP3をインストール

シェルでもオプション無しでPHP実行時に「/home/USERNAME/www/php.ini」を読み込むように .cshrcに追記します。

 

 

さくらのレンタルサーバにCakePHP3をインストール

.cshrc の最後の行に「alias php php -c /home/USERNAME/www/php.ini」を追記しました。

 

 

さくらのレンタルサーバにCakePHP3をインストール

シェルを再起動して、「php -i | grep intl」を実行するとintlが読み込めていることがわかります。

 

 

 

Composerのインストール

さくらのレンタルサーバにCakePHP3をインストール

コンポーザーをインストールします。

 

 

さくらのレンタルサーバにCakePHP3をインストール

インストールする前に、composer-setup.phpファイルが正しいかどうかをチェックしています。

基本的には下記URLの

Composer
A Dependency Manager for PHP

「Command-line installation」っていうところに書いてある通りに実行します。

hash_file(‘SHA384’, ‘composer-setup.php’) === ’55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30′


この部分は、composerのバージョンによって変わるので、上記サイトに書いてあるコマンドをコピペするのが無難かも。

 

 

 

CakePHPプロジェクトを作成

さくらのレンタルサーバにCakePHP3をインストール

composerを使って、cakephp3のプロジェクトを作成します。

 

 

さくらのレンタルサーバにCakePHP3をインストール

インストールが始まりました。

 

 

さくらのレンタルサーバにCakePHP3をインストール

無事、CakePHP3のインストールが完了です。

 

 

CakePHP3本体を公開用ディレクトリ(www)配下に置かずに表示というのが、うまくいってないので時間のあるときにまたチャレンジしてみようと思います。

 

【2017/03/04 追記】

CakePHP3本体を公開用ディレクトリ(www)配下に置かずに表示、意外と簡単にできましたー。

[kanren postid=”2726″]

 

【2017/09/15追記】さくら鯖のPHPバージョンを7.1にしたときのintlどうするか?

昨日、CakePHP3を動かしているさくらレンタルサーバーのPHPバージョンを7.1に変更したら、「intlが動いてません」みたいなエラーでCakePHP3のWEBアプリが表示できなくなりました。

ま、intlを入れた時にPHPバージョンを5.6対象にしていたので、「–with-php-config=/usr/local/php/5.6/bin/php-config」の「5.6」を「7.1」に変更してmakeしなおせば大丈夫だろうとやってみたもののエラー。

色々調べた結果、「intl-3.0.0」ではダメで「php-7.1.7に同梱されているintl」を使えば良さそう。で、やったらできました。

参考にさせていただいたのは、コチラ↓

さくらのレンタルサーバPHP7環境でintlモジュール有効化

ありがとうございます。

 

% wget https://github.com/php/php-src/archive/php-7.1.7.zip

↑このURLからwgetしてくればOKです。

 

これで、さくらインターネットのレンタルサーバー(PHP7.1)でもCakePHP3が使えますね。

 

 

では、ステキなCakePHP3ライフを!!

コメント

  1. […] さくらのレンタルサーバにCakePHP3をインストール | かみおか日記 […]

  2. […] 前の記事でさくらのレンタルサーバースタンダードプランにCakePHP3をインストール成功しましたが、/home/USERNAME/www にCakePHP3本体を置くのはセキュリティ的にあまりよろしくないですよね […]

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