Cakephp3 RC1 インストール エラー

CakePHP3 RC1 install

概要

CakePHP3のインストールをWindowsとMacで行ってみました。

インストール手順はこちらに書いています。
http://book.cakephp.org/3.0/en/installation.html

CakePHP3はComposerを使ってインストールするのですが一発でうまくいかないことのほうが多いと思ったので書き留めておきます。

Composerのダウンロード

最初はComposerをダウンロードします。
↓がコマンドです。

curl -s https://getcomposer.org/installer | php

このコマンドですがWindowsではうまく動きませんでした。
-sのオプションはサイレントオプションなので外すとエラー内容がわかります。
httpsの認証がなにやらエラーが出ていたのでhttpでやると無事に落とせました。

curl http://getcomposer.org/installer | php

これでComposerでインストール出来ます。


php composer.phar create-project –prefer-dist -s dev cakephp/app

Windows,Mac両方でもエラーが出ました。

Your requirements could not be resolved to an installable set of packages.

CakePHP3インストール時のエラーの対処

【原因1 PHPのバージョン】

バージョンが5.4.19かどうか調べる

次のコマンドでバージョンを調べられます。

php -v

【原因2 intl 拡張モジュールが入っていない】

大抵はこれが原因です。

intlモジュールの確認とphp.ini

-intlモジュールがPHPで使用出来るか確認します。
次のコマンドを打ちます


php -i | grep intl

※Windowsはgrepコマンドが無いのでgrep相当のものをググって落として下さい
もしくはこちらの記事を参考にコマンドプロンプトでgrepコマンドを使えるようにして下さい。
http://nagoring.com/blog/?p=570

分からなければ「php -i」だけ打って目視でintlモジュールが入っているか確認して下さい。
grepのところは無くても全て目視で確認出来ます。また sudoはWindowsでは付けなくて良いです。

使用出来る場合は次のようなのが表示されます(環境によって異なります)
intl
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0
使用できない場合は何も表示されません。

この場合はphp.iniを確認します。
次のコマンドで現在動作しているphpのphp.iniの場所が分かります。


php -i | grep php.ini

php.iniを開いて次の一文を追加します。

・Windows
extension=php_intl.dll

・Mac
extension=intl.so

これでCakePHP3のインストールが正常に動くかと思います。

私の環境ではWindowsはこれでインストール出来ましたがMacは失敗しました。

この時確認すべきポイントは2つです。
1.intlモジュールが存在するか?
intl.soを次のコマンドで探します。Windowsの場合はphp_intl.dllを探して下さい。
 コマンドが動かなかなかったらエクスプローラーやFinderで探しても良いです


sudo find / -name *intl.so

見つかったらその絶対パスをphp.iniに書き込んで下さい

extension=C:\xampp\php\php_intl.dll

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

ファイルが存在しない場合はintlモジュールをインストール必要があります。

peclを使ってインストールをします。
peclを使えない場合はGoogleなりBingでインストールの仕方を調べて下さい。
※intlのインストールの仕方はたくさんあります。
peclなんて使いたくねーよって人は他の方法を探してみてください。

次のコマンドでインストールできます。

sudo pecl install intl

php.iniでintl.soのモジュール呼び出しがされているか確認してCakePHP3のインストールを行って下さい。これで出来るはずです。

お疲れ様でした。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です