Linux環境にCakePHP3をインストールして、composerでプロジェクトを生成するところまで実施します。実際にやってみると、エラーが出て結構はまってしまったので、対処法も記載しておきます。

目次

環境

環境 CentOS7.3 PHP 7.1.4(ソース) CakePHP3.4.6

CakePHP3のダウンロード

以下よりCakePHP3をダウンロードしてきます。
https://getcomposer.org/download/

具体的には、各自の任意ディレクトリにて上記のページに記載されている以下のコマンドを実行します。

コマンドを実行すると、カレントディレクトリにcomposer.pharというファイルが生成されるので、指定したパスのディレクトリに移すために以下のコマンドを実行してください。
(/usr/local/bin/ に移動します。)

これにより、composer.pharを指定せずとも、以下のようなcomposerでプロジェクトを立ち上げることが出来ます。

CakePHP3のプロジェクト生成

実際にプロジェクトを生成してみます。

上記のようにcomporserを使って新たなプロジェクトを作成する場合、存在しないディレクトリ・または空のディレクトリを指定する必要があります。

既にファイルが存在するディレクトリで新たなプロジェクトを作成しようとすると、以下のようなエラーが発生します。

composerのエラー

intlがインストールされていないと、以下のエラーが発生します。こちらのエラーは多々発生しているようで、ググると沢山でてきます。

実際にintlがサーバにインストールされているか確認します。

何も表示されなければインストールされていませんので、以下のコマンドで追加してみます。
しかし、以下エラー発生。intlはPHP7には対応されてない模様。

対応策

phpをソースで入れていたので、ググった結果のものがあまり使えず、少しはまりましたが、いろいろ探った挙句みつけた対応策として、以下の手順でモジュールを追加し、再ビルドすることにしました。

まず、icuが必要みたいなので、こちらをインストールします。

次にintlを追加して再ビルドします。

確認すると、intlが追加されました。

後は、extensionsのディレクトリにintl.soをセットして、php.iniにも以下を追記。

再度プロジェクト作成

直前にcomposerで失敗していた場合、中途半端なディレクトリが生成されているので、プロジェクトのディレクトリを一旦削除して、再度コンポーネントでプロジェクトの生成します。

これで正しく、CakePHP3のプロジェクトが生成されました。