DEVELOPERS BLOGデベロッパーズブログ

  1. HOME > 
  2. 加藤 正人 > 
  3. タイトル

XSERVER X10 に CakePHP 3.x をインストールする

2016/08/06

XSERVER X10 に CakePHP 3.x をインストールする

 

先の記事のように、XSERVER の共用サーバーで PHP の intl 拡張のサポートが始まったので CakePHP 3.x が利用できるようになった。

インストールにはちょっとしたコツがあるので以下にメモしておく。

  • 2016年08月06日現在の composer のインストール手順は CLI 版 php を前提としているが、XSERVER X10 の PHP 5.6 は FastCGI 版のため -r オプションは使えない (CLI 版は php5.3 の CLI 版が /usr/bin/php-cli として提供されているのみ; CakePHP 3.x には PHP 5.5.9 以降が必要)

  • 同じく CLI 版でないことにより STDIN からの入力を利用できないため、composer が作成したフォルダのパーミッションをインタラクティブに設定する部分でエラーになる (Use of undefined constant STDIN - assumed 'STDIN')

このため、composer のサイトに記載されている php -r "..." を使用した方法は利用できない。回避方法は以下の通り。

  1. SSH で XSERVER の当該サーバにログインする。

  2. ドメイン名フォルダ直下 (当該ドメインの public_html が存在するフォルダ) に移動し、以下の sh コマンドを実行する。

    以上でカレントフォルダに composer.phar が生成される。

  3. 続いて composer.phar で CakePHP 3 プロジェクトを生成するが、プロジェクトとして public_html を指定すると簡単。ただし、public_html フォルダ内はカラになっていないとエラーとなり何も書き込まれないので、.htaccess をバックアップした上で public_html 配下をカラにしておく。また FastCGI 版で STDIN の問題を回避するため yes コマンドを使用し次のように入力する。

    composer は Warning: Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI (Composer は cgi-fcgi SAPI 版ではなく CLI 版 PHP で実行すべき) という警告を表示するが、public_html 配下に CakePHP 3.x がインストールされる。なお、この状態だと pulic_html 直下の .htaccess は CakePHP 3.x のための設定しか入っていないので、先ほどバックアップしておいた .htaccess の内容とマージして適切な設定となるようにする。

以上で XSERVER の共用サーバーに CakePHP 3.x をインストールできる。

また、CakePHP の更新もプロジェクトフォルダ (上の例では public_html) に移動し、composer update (または /usr/bin/php5.6 ../composer.phar update) を実行することで簡単に更新できる。(ただし .htaccess など Apache の設定が入っているファイル等はバックアップしておくことを推奨。)

この記事は加藤 正人さんが書いています!

加藤 正人

氏名
加藤 正人
役職
多分SE
血液型
秘密
出没
美味しいもののあるところ
特色
タヒチ大好き。ちょいメタボ。

関連エントリー