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

  1. HOME > 
  2. 加藤 正人のデベロッパーズブログ > 
  3. XSERVER X10 に CakePHP 3.x をインストールする

加藤 正人のデベロッパーズブログ

加藤 正人

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

加藤 正人

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 の設定が入っているファイル等はバックアップしておくことを推奨。)

関連エントリー

CakePHP3 のリダイレクトがうまく行かない例

PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)

CakePHP3 のユーザー定義ファインダーのオプション

PHP3 でデバグモードを一旦無効化した後再度有効化するとDebugKit が見つからない

CakePHP3 で JSON 応答のための定番処理

CakePHP3 でタイムゾーン変換

バージョンを指定して CakePHP をインストールする

CakePHP サイトの移転時の注意

CakePHP3 のアソシエーションで、紐づけ用フィールドを指定する

CakePHP3 のコマンドライン実行

CakePHP3 の Virtual Field と accessor (Getter)

CSRF token mismatch

2019/07/04
CSRF token mismatch

CakePHP3 で created と modified に日付が自動付与されない場合のメモ

CakePHP3 で

CakePHP3 の JSON 出力でエラー

CakePHP3 のミューテータで書き換えたデータが保存されない件

CakePHP3.6.2 のタイムスタンプ調整 (XSERVER の場合)

CakePHP3 で DebugKit が表示されない

最新版 composer.phar のインストール

PHP 7.x で CakePHP 3.x を使う

Remi's PHP5.6 と intl モジュール

X2 と CakePHP 3.x

2017/05/23
X2 と CakePHP 3.x

CakePHP3 の便利機能

CakePHP3 と SQLite

2017/02/20
CakePHP3 と SQLite

CakePHP3 でテーブル不使用フォームのバリデーション

CakePHP3 のファインダーメソッド

CakePHP 3.x の accessor と mutator 【その2】

CakePHP 3.x の accessor と mutator

XSERVER で CakePHP 3.x が Fatal error

CakePHP 3.x インストールメモ

XSERVER と X2

2015/07/25
XSERVER と X2

Composer メモ

2015/06/13
Composer メモ

共用サーバに MeCab をインストールする