【開発日誌】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でなおすべきところはなおしてるはずだが?
コメント
コメントを投稿