【開発日誌】Cake PHP3 をサーバーでインストールできた|curl,composer,pear,peclとは(未調査)|これからやること|不明点


Cake PHP3インストールできた。

#CakePHP新規App作成
composer create-project --prefer-dist cakephp/app myapp
最初、上記コマンドを打ってから、アプリケーションルートにwebブラウザで見ても、なにも表示されなかった。以下ログをtailしてからもう一度Enterを押すと、ログが出てきた。

tail -f /var/log/httpd/error_log

出てきたログ
[Sat Oct 03 19:30:04 2015] [error] [client xxx.xxx.xxx.xxx] PHP Fatal error:  You must enable the intl extension to use CakePHP. in /var/www/html/myapp3/config/bootstrap.php on line 38

intlというものが必要であることがわかった。intlのインストールに必要な物が芋づる式にたくさん出てきた。
intlをインストールしたら、
/etc/php.iniに、
extension=intl.so
を追記する。


必要なもののインストール
・composer・・・phpのライブラリのインストーラ
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
※ curl ・・・ cURL。url指定のダウンローダ。これ自体クローリングなどに使える便利そうなもの。
※pharは、javaで言うjarみたいなもの。
・gcc,gcc-c++
yum -y install gcc
yum -y install gcc-c++
cコンパイラとc++コンパイラは別物。個別にインストールが必要
以下、historyより抜き出し。同じものを何回もインストールしているかもしれないし、いらないものもありそう。

・pear ・・・peclのなかでpearのライブラリが呼び出されているようなのだが、もともと入っていたpearが古かったようなので、更新した。php5.5には5.5用のpearをインストールしなければならないということなんだろう。
参考:古いpearのせいで、出たWarning
Warning: Invalid argument supplied for foreach() in /usr/share/pear/PEAR/Command.php on line 259
Warning: Invalid argument supplied for foreach() in Command.php on line 259

↓対応
yum erase php-pear
yum install php55w-pear
はまったポイント:yum install php-pear はダメ。古いのがインストールされる。

???上記コマンドの直前に実行したpearインストールコマンド?これで古いpearがインストールされてしまった?
cd /tmp && mkdir pear && cd pear
curl -O http://pear.php.net/go-pear.phar
php -d detect_unicode=0 go-pear.phar

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum install php55w php55w-cli php55w-common php55w-mbstring php55w-mysql php55w-xml php55w-pdo php55w-pear.noarch php55w-intl php55w-devel
yum install icu libicu-devel
yum install libicu-devel.x86_64
yum install libicu-devel
yum install pcre pcre-devel
yum install libxml2-devel
yum install openssl-devel
yum install sqlite-devel
yum install bzip2-devel
yum install curl-devel
yum install gdbm-devel
※何度か同じものをインストールしているのは、icu系のライブラリにて、下記載の「はまった点」でやった失敗のせいで、うまくインストールできなかったため。

・上記準備ができたらintlをインストール
pecl install intl

・はまった点 途中で以下のプロンプトが出てきて、
Specify where ICU libraries and headers can be found [DEFAULT] : 
これに y を入力したものだから、ICUのライブラリが見つからずインストールできない、という失敗を何度か繰り返した。

一回アンインストールして、やり直したりした。
yum remove libicu-devel
yum install libicu-devel
アプリルートにアクセスすると、CakePHP3のようこそ画面的な物が出てくるが、CSSが適用されていない。
CSSが適用されてないことは、ようこそ画面自身が認識していて、対応策のリンクが貼られていたので、それを見て以下対応をした。


【/etc/httpd/conf/httpd.conf】

・Loadmodule の mod_rewriteを有効にする
LoadModule rewrite_module modules/mod_rewrite.so
AllowOverride All
<Directory "/location">AllowOverride All


# Apache 再起動
/etc/rc.d/init.d/httpd restart

#CakePHP新規App作成
composer create-project --prefer-dist cakephp/app myapp

# 参考にさせていただいたサイト

用語
curl ・・・url指定ダウンローダ。クローラーとしても使える
composer ・・・ rubyのGEMみたいなもの?
pear,pecl ・・・旧世代のphpライブラリインストーラ?


これからやること

不明点
sudoが使えない
ここに書いてある通り、visudoでなおすべきところはなおしてるはずだが?

コメント

このブログの人気の投稿

分散処理など

VBAでEdge操作は不可能ではないが、ナンセンス

docker+nginx+wordpress リバースプロキシにてはまった件