質問: さくらのレンタルサーバ スタンダードで,さくらのレンタルサーバにCakePHP3を導入を参考にしてcakephp3をインストールしようと思っています. しかし,「10.CakePHPプロジェクトを作成」の時点で以下のエラーが出てしまっています. icuのバージョンを最新のもの(icu4c-58_2-src.tgz)にしても変わりません. どのような設定が抜けているか,何が必要かなどをご教授願います. ``` [DOMAIN@wwwXXX ~/project]$ php composer.phar create-project --prefer-dist cakephp/app PROJECTNAME Installing cakephp/app (3.4.0) - Installing cakephp/app (3.4.0) Loading from cache Created project in PROJECTNAME Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - cakephp/cakephp 3.4.1 requires lib-icu >=4.8 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it. - cakephp/cakephp 3.4.0 requires lib-icu >=4.8 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it. - Installation request for cakephp/cakephp 3.4.* -> satisfiable by cakephp/cakephp[3.4.0, 3.4.1]. ``` icuライブラリの gmake installした結果が以下です. 最終的にError 4やError 2とあるようです. 何処かにエラーメッセージがあるということでしょうか? 実行結果を以下のURLに記述しました. 実行結果 (文字数制限で全ては載せられません) ``` $ gmake install 〜〜〜 gmake[1]: *** [out/tmp/icudata.lst] Error 4 gmake[1]: Leaving directory `/home/DOMAIN/local/src/icu/source/data' gmake: *** [install-recursive] Error 2 ```
回答: さくらのレンタルサーバースタンダードにCakePHP3インストール成功した者です。 create-project したときのエラーメッセージを見ると、 ``` - cakephp/cakephp 3.4.1 requires lib-icu >=4.8 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it. ``` 「cakephp3.4.1 は、 lib-icuバージョン4.8以上が必要で、間違ったバージョンのlib-icuがインストールされているか、lib-icuが読み込めていない」という風に書いてあります。 質問者さんがインストールされているlib-icuは、58.2とのことなのでバージョンは満たしていると思います。lib-icuの読み込みがうまくできてないのではないかと思います。 ``` phpinfo(); ``` などで、さくらのレンタルサーバーのPHPの設定情報を表示して「icu」を検索してみてください。 「ICU」が表示されていない ⇒ icu-libの読み込みがうまくいってない。 「ICU」が表示されている ⇒ icu-libのインストールに問題がある。 と問題を切り分けできるかと思います。 参考までに、私のさくらレンサバでのphpinfo()のキャプチャー画像を上げておきます。 !イメージ説明 【2017/03/03 追記】 原因が気になったので、さくらレンタルサーバースタンダードプランを新たに借りて、参考サイトの手順通りにインストールしてみました。結果、インストールがうまくできたので、やったことを画面キャプチャ付きでブログにまとめました。 >>さくらのレンタルサーバにCakePHP3をインストール 参考にしてみてください。 インストールしてみて、もしかしたらここ間違ってるかもと思った点は、 (1)intlモジュールをインストールする際のオプション「–with-php-config=/usr/local/php/5.6/bin/php-config」部分のPHPバージョンの数字が違ってる (2).cshrc の設定「alias php php -c /home/USERNAME/www/php.ini」がうまくいっていない。(またはシェル設定終了後に再起動していない or bashを使っている) あたりです。 (2)に関してはシェルで「php -i | grep intl」と打って「intl」関連のものが表示されていれば問題ないです。 それと、参考サイトの手順で一つだけ飛ばしたものがあります。「6.モジュールのコピー」部分の「$ ln -s /usr/local/php/default/lib/php/extensions/no-debug-non-zts-20131226/* .」というシンボリックリンク作成コマンドです。これの必要性がいまいちわからなかったので飛ばしました。 インストールうまくいくといいですね。