Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPressを PHP5.6から7.2にアップデートした話

WordPressを PHP5.6から7.2にアップデートした話

2019/3/20
Connehito Marché vol.5 〜PHP市〜
https://connehito.connpass.

Keita Mizushima

March 20, 2019
Tweet

More Decks by Keita Mizushima

Other Decks in Programming

Transcript

  1. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    WordPressを

    PHP5.6から7.2にアップデートした話

    ランサーズ株式会社 
    CRE / 水島 啓太

    View Slide

  2. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    アジェンダ
 2
    ・自己紹介
    ・バージョンアップの背景
    ・ランサーズの開発環境
    ・対象となるWordPressサイト
    ・やったこと
    ・アップデートの結果
    ・詰まったところ
    ・まとめ

    View Slide

  3. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    自己紹介


    View Slide

  4. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    自己紹介
 4
    ・水島 啓太 (@0xb5951)
     1998年生まれ 21歳
     津山高専 電子制御工学科卒
     19卒として入社予定
    ・ランサーズCREチーム
    ・ピアボーナスSlackbot『NAS!』
    ・不具合改善/ 使いにくい機能の改修
     今後は機械学習で監視の自動化を行う予定
     
    ・今日話すこと
    WordPressのPHPを5.6から7.2にバージョンアップした話!
     

    View Slide

  5. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    バージョンアップの

    背景


    View Slide

  6. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    バージョンアップの背景 
 6
    ランサーズのバージョンアップ


    View Slide

  7. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    ランサーズの開発環境


    View Slide

  8. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    ランサーズの開発環境 
 8
    今回はここの話!
    本番環境とほぼ同じ構成をDockerコンテナで再現
    DockerマウントでPCとソースを共有

    View Slide

  9. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    対象となる

    WordPressサイト


    View Slide

  10. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    WordPressで運用しているメディア
    
 1
    0

    View Slide

  11. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    やったこと


    View Slide

  12. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    やったこと
 12
    1. 開発環境のDockerコンテナで手動検証 
    2. それをAnsibleのコードに起こす
    3. 開発環境でAnsible流して動作確認
    4. 目的の動作をするまで修正
    開発環境
    検証環境
    1. 検証用環境にデプロイをして確認
    2. その際発生していたエラーを修正

    View Slide

  13. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    WordPressの構成図
    
 1
    3
    ここにAnsibleでPHP7.2系環境をインストール

    本番環境での対応

    View Slide

  14. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    やったこと
 14
    1. 新規インスタンスの作成
    2. 本番用のALBを新規作成
    3. 作成したインスタンスにデプロイ
    4. ローカルで名前解決して動作を確認
    5. ALBの切り替え
    6. 動作確認
    本番環境

    View Slide

  15. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    アップデートの結果


    View Slide

  16. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    アップデートの結果
 16
    5.6から7.2系にアップデートした結果
    5.6系 7.2系
    読み込み時間 → 1250 [ms] 読み込み時間 → 386 [ms]
    (検証環境)

    インスタンスタイプ :
    t3.small

    3倍以上高速化

    View Slide

  17. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    詰まったところ


    View Slide

  18. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    詰まったところ
 18
    ランサくん
    PHP7.2化に当たって詰まったところ
    define(DEBUG_CHECK, false);
    define('DEBUG_CHECK', false);
    例.
    add_action( 'widgets_init', create_function( '', 'return register_widget("SimpleTags_Widget");' ) );
    add_action( 'widgets_init', function() { return register_widget("SimpleTags_Widget"); } );
    メソッドの変更 &&
    チェックが厳格化
    ・remiからパッケージがインストールされない
     
    ・xdebugの依存関係でつまった
    → amzn-mainをdisableにすることで解決
    ・PHP7.2に上がったことによるエラー
    → 7.3系に対応しているxdebugがまだbeta

    View Slide

  19. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    まとめ


    View Slide

  20. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    まとめ
 20
    感想をまとめると
    ・Dockerの良さを実感できた
    ・インフラ周りの力がついた
    ・構文チェッカーをCircleCIなどに導入した方がいいですよ。
     (php-cs-ficxerなど)
    ・バージョン関係で使えないパッケージが減った
    ・思ったよりスムーズにできた(Ansibleのおかげ)

    View Slide

  21. 2019/03/20 Connehito Marché vol.5 〜PHP市〜
    ご静聴ありがとう

    ございました!!


    View Slide