3ヶ月でphp5.5から7.2にバージョンアップした現在と今後の向き合い方 #PHPerKaigi 2019

1ca461589ef4a61402dfeaef5dc9620a?s=47 kosa3
March 30, 2019

3ヶ月でphp5.5から7.2にバージョンアップした現在と今後の向き合い方 #PHPerKaigi 2019

PHPerKaigi 2019での発表資料です。

1ca461589ef4a61402dfeaef5dc9620a?s=128

kosa3

March 30, 2019
Tweet

Transcript

  1. 3.
  2. 15.
  3. 16.
  4. 18.
  5. 19.
  6. 22.
  7. 24.
  8. 27.

    ・Codeigniter Framework ・CentOS ・Apache ・node.js ・ruby ・composer ・mod_small_light module ・mcrypt

    module ・その他モジュールやクライアントライブラリなど PHP以外に必要なバージョンアップ
  9. 28.
  10. 34.

    memcached libMemcachedのバージョン依存問題 /usr/local/src/php-memcached/php_libmemcached_compat.h:56: error: expected '=', ',', ';', 'asm' or

    '__attribute__' before 'php_memcached_instance_st' *wgetで最新のソースからインストールする必要がある。 memcache 現在開発が止まっていてphp7に対応していない。 歴史のあるサイトだとmemcachedあるいは別サービスを利用 するなどの検討も。 Memcachedモジュール問題
  11. 38.

    openssl vs mcrypt 環境:MacOS, PHP7.0(mcrypt), PHP7.2(openssl) 暗号化、復号化回数: 1000回 key: Seattle

    Mariners value: イチロー引退 method: AES-128-ECB 暗号化、復号化の速度検証。。!
  12. 39.

    openssl vs mcrypt 環境:MacOS, php7.0(mcrypt), php7.2(openssl) 暗号化、復号化回数: 1000回 key: Seattle

    Mariners value: イチロー引退 method: AES-128-ECB mcrypt encrypt time: 0.078732013702393 decrypt time: 0.068650007247925
  13. 40.

    openssl vs mcrypt 環境:MacOS, php7.0(mcrypt), php7.2(openssl) 暗号化、復号化回数: 1000回 key: Seattle

    Mariners value: イチロー引退 method: AES-128-ECB openssl encrypt time: 0.00084805488586426 decrypt time: 0.00096797943115234
  14. 52.

    ・PHP7.2から配列またはcontableインタフェースで 実装されたObject以外だとWarningエラーを出力 Warning: count(): Parameter must be an array or

    an object that implements Countable サイト全体的に影響が大きい仕様変更 PHP7.2からのcountの仕様変更
  15. 55.

    サイト全体にCDNを導入 クチコミ投稿時やログなどの記録で固定のipが入る $ip = $_SERVER['REMOTE_ADDR']; // CloudfrontのIPが入る $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

    // アクセスIP元まで取得 *またCloudfrontのデフォルトオリジンレスポンスタイムアウトは30秒 レポートなど処理の長い時間がかかる場合は注意 Cloudfront導入によるIP問題
  16. 71.
  17. 73.