CakePHP로 Rails Tutorial을 해보자~그 1 Cloud9의 설정~

5288 단어 cloud9cakephp3

소개



업무로 CakePHP를 사용하게 되었으므로, 공부를 시작했습니다.
책을 살까라고 생각했는데, 절각이므로 Rails Tutorial 를 CakePHP로 재작성하면서 공부를 할까 생각했습니다.

자신의 정리와, 다른 분들에게의 참고가 된다고 생각해, 기사로 하겠습니다.
뒤집는 부분은 건너 뛰기 때문에 모두 실시하는 것은 아닙니다.

환경



환경은 Cloud9에서 수행됩니다.
Rails Tutorial에서는 Heroku를 사용하지만 이번에는 사용하지 않았습니다.
  • PHP: 7.1.8
  • CakePHP: 3.5.1
  • MySQL: 5.5.57

  • Cloud9에 로그인



    Cloud9에 로그인하여 PHP 프로젝트를 만듭니다.

    PHP 버전 업



    Cloud9의 기본 PHP 버전은 PHP 5.5이므로 버전 업합니다.
    모처럼이므로, 2017년 8월 말 시점에서 최신의 7.1.8로 하고 싶습니다.
    Heroku 커뮤니티 페이지를 참고했습니다.
    How to upgrade to PHP7
    # 最初にlibmcrypt-devをインストール
    $ sudo apt-get update
    $ sudo apt-get install libmcrypt-dev
    
    # phpbrewのインストール
    $ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
    $ chmod +x phpbrew
    $ sudo mv phpbrew /usr/local/bin/
    $ phpbrew init
    
    #  ~/.bashrcに追記
    $ [[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc
    $ phpbrew lookup-prefix ubuntu
    
    # PHP 7.1.8をインストール
    # その他のモジュールも一緒にインストール
    $ phpbrew install 7.1 +default +mysql +pdo +fpm +opcache +intl
    $ phpbrew switch php-7.1.8
    $ phpbrew use php-7.1.8
    $ php -v
    PHP 7.1.8 (cli) (built: Aug 30 2017 08:43:16) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    

    phpbrew라는 명령을 사용했습니다.
    PHP 버전 관리가 쉬워지는 것 같습니다.
    Ruby에서 말하는 rbenv 같은 것입니까?

    Composer 설치



    CakePHP3는 Composer에서의 설치가 기본이므로 설치합니다.
    이쪽도 커뮤니티 사이트를 참고로 했습니다.
    Getting Started with CakePHP 3
    $ curl -sS https://getcomposer.org/installer | php
    

    CakePHP 설치



    프로젝트 이름은 cakephp_de_rails_tutorial입니다.
    $ php composer.phar create-project cakephp/app cakephp_de_rails_tutorial
    

    도중에 권한에 대해 질문 받지만 그대로 Enter를 누르십시오.
    $ cd cakephp_de_rails_tutorial
    $ chmod +x bin/cake
    

    데이터베이스 설정



    Cloud9에서 PHP 프로젝트를 만들면 LAMP 환경을 만들 수 있으므로 설정을 추가합니다.
    이쪽도 커뮤니티 사이트를 참고로 했습니다.
    Setting Up MySQL

    다음 명령을 사용하여 사용자 이름과 사용 DB 이름을 얻을 수 있습니다.
    $ mysql-ctl start
           Root User: hogehoge
       Database Name: fugafuga
    

    이를 바탕으로 config/app.php를 편집합니다.
    그런 다음 시간대도 편집합니다.

    config/app.php
    'Datasources' => [
        'default' => [
    
            // ...
    
           //'port' => 'non_standard_port_number',
    +        'username' => getenv('C9_USER'),
    +        'password' => '',
    +        'database' => 'fugafuga',
             'encoding' => 'utf8',
    +        'timezone' => '+09:00',
             'flags' => [],
             'cacheMetadata' => true,
             'log' => false,
    

    CakePHP 응용 프로그램 자체의 시간대는 config/bootstrap.php를 편집합니다.

    config/bootstrap.php
    - date_default_timezone_set('UTC');
    + date_default_timezone_set('Asia/Tokyo');
    

    서버를 시작해보기



    지금까지 CakePHP 명령으로 서버를 시작해보십시오.
    $ bin/cake server -H $IP -p $PORT
    
    Welcome to CakePHP v3.5.1 Console
    ---------------------------------------------------------------
    App : src
    Path: /home/ubuntu/workspace/cakephp_de_rails_tutorial/src/
    DocumentRoot: /home/ubuntu/workspace/cakephp_de_rails_tutorial/webroot
    ---------------------------------------------------------------
    built-in server is running in http://0.0.0.0:8080/
    You can exit with `CTRL-C`
    
    http://0.0.0.0:8080/ 에 액세스해 보면, 아래 그림과 같이 되어 있으면 문제 없을까 생각합니다.



    9/8 추가



    Cloud9를 한 번 닫거나 터미널 탭을 새로 시작하면 ~/.phpbrew/bashrc가 로드되지 않아 PHP 버전이 기본값으로 유지됩니다.
    따라서 ~/.bashrc를 추가하고 시작할 때 로드해야 합니다.

    ~/.bashrc
    + # To update PHP 7
    + if [ -f ~/.phpbrew/bashrc ]; then
    +     source ~/.phpbrew/bashrc
    + fi
    

    사이고에게



    이번에는 환경 설정에 관한 것이었습니다.
    다음 번부터 실제로 코드를 작성하고 싶습니다.
    덧붙여 Rails Tutorial3장(거의 정적 페이지 작성) 에서 하려고 합니다.
    다음 → 거의 정적 페이지 만들기

    좋은 웹페이지 즐겨찾기