某大学生のらくがきのーと

大学三回生です。調べた事をまとめたり、日記も書くかもしれません。

cakePHPの環境構築から開発開始までまとめ

sudo apt-get update
sudo apt-get install libmcrypt-dev
sudo apt-get install php-mcrypt
sudo apt-get install php-curl
curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew
sudo mv phpbrew /usr/local/bin/
phpbrew init
[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc
phpbrew lookup-prefix ubuntu
phpbrew install 7.0.11 +default +mysql +pdo +fpm +opcache +intl
phpbrew switch php-7.0.11
phpbrew use php-7.0.11

下記を実行してphp-7.0.11が入っていることを確認.

php -v

そのあと

php -i|grep intl

を実行しintl拡張が入っていることを確認.
下記を実行しapacheがphp7.0を使うように設定(?)

sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update -y
sudo apt-get install php7.0-curl php7.0-cli php7.0-dev php7.0-gd php7.0-intl php7.0-mcrypt php7.0-json php7.0-mysql php7.0-opcache php7.0-bcmath php7.0-mbstring php7.0-soap php7.0-xml php7.0-zip -y
sudo mv /etc/apache2/envvars /etc/apache2/envvars.bak
sudo apt-get remove libapache2-mod-php5 -y
sudo apt-get install libapache2-mod-php7.0 -y
sudo cp /etc/apache2/envvars.bak /etc/apache2/envvars

phpmyadminをインストール

phpmyadmin-ctl install

「phpMyAdminのログインとセットアップ」
ログイン:
 Cloud9のIDと同じIDでログインする。パスワードは最初は設定されていないので空欄。
設定:
 「一般設定」の「サーバ接続の照合順序」: utf8_general_ci
外観の設定:
 「言語」を「日本語」
ユーザパスワードの設定:
 「ユーザ」タブを開いて該当ユーザIDの「特権を編集」リンクをクリック。
 下の方へスクロールすると、「パスワードを変更する」とあるのでそこでパスワードを入れ、
 右下に見える「実行」ボタンをクリックする。

composerのインストール

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

cakePHPのインストール

php composer.phar create-project --prefer-dist cakephp/app 作成したいプロジェクトの名前

必要なライブラリ類をプロジェクトにインストール

cd 作成したプロジェクトの名前
composer install

ブラウザから確認

https://ワークスペース名−ユーザID.c9users.io/プロジェクト名

configフォルダのapp.phpを開き、データベース設定を記載する

プロジェクトフォルダ\configにあるapp.phpファイルを開き、「Datasources」という文字列を検索。
(私の場合217行目にありましたが、その時点のバージョンにより数行の変動があると思います。)
そこから12行程度下までスクロールさせると 'username' => という記載が見つかるのでそこから下を修正。

'username' => 自分のDBユーザ名
'password' => パスワード
'database' => データベース名
'timezone' => '+09:00',


bootstrup.phpも修正する
同じフォルダにあるbootstrup.phpを開き、「timezone」と記載された行を文字列検索する。

date_default_timezone_set('UTC');

と記載されいますので、UTCAsia/Tokyoに変更。

date_default_timezone_set('Asia/Tokyo');