PHP5.6化後のライブラリアップデートPHP5.6化後のライブラリアップデートblog_admin|2019年04月19日AWS14Twitter0Facebook1B!Bookmark1PocketSREチームの金澤です。PHP5.6にバージョンアップしたことにより、今までPHPバージョン依存でアップデートできなかったライブラリをアップデートできるようになりました。今回は、そのアップデート内容についてお話したいと思います。S3のAWS署名バージョン2が廃止されます。V3にアップデートする必要があります。V3はPHP5.5以上が必須であったためPHP5.6対応は時間との戦いでもありました。PHP5.6アップデート完了後、速やかにV3にバージョンアップに取り掛かりました。V2がインストールできなくなります。(PHP5.3、PHP5.6で確認)※この詳細はQiitaに書きました。V3へのバージョンアップもComposerバージョン1.7.2で行いました。V3はGuzzleHttp(バージョン6)に依存しています。SDKをV3にバージョンアップすると、依存しているGuzzleもバージョンアップされるので同時に対応する必要があります。※バージョンアップに伴うソース修正内容をGitHubリポジトリに公開しました。GoutteのバージョンアップGuzzleに依存するGoutteのバージョンアップも同時に行う必要がありました。V1.0→V3.1.0へのバージョンアップしました。updateが進まない状態になっていました。installを行いました。install※こちらも、具体的なソース修正内容をGitHubリポジトリに公開しています。updateができるようになりました。1.7.2→1.8.5にアップデートできました。self-updatePHP-CS-Fixerv2.1から最新のv2.14にバージョンアップすることができました。v2.1では設定できなかった以下の設定を有効にすることができました。true,facebook/graph-sdkのcomposer管理facebook/graph-sdkについては、今までPHP5.3で動作するFork版のV4.0.23を、Vendorディレクトリに直接配置していました。V4.0.23のまま、Composer管理に移すことから開始しました。"4.0.23",※Guzzle最新バージョンにすれば、最新のfacebook/graph-sdkを利用可能になります。(ソース修正が必要)PHPMailer5.2.27→6.0.7へバージョンアップ。バージョン5.2.27は__autoload関数が使われていますが、PHP7.2で非推奨になります。バージョン6でこれらの対応が行われています。※バージョン6以降は以下の記述で読み込むようになります。PHPMailer\PHPMailer\PHPMailer;PHPUnitPHP5.6では、PHPUnitを5.7までバージョンアップできるのですが、バージョンアップして実行すると以下のエラーが出力されます。748]CakePHP2.8がPHPUnit5.7に対応していないためです。CakePHP2.10は対応しているので、これはCakePHP2.10移行後の対応になります。CakePHP2.10ということで、CakePHP2.10にアップデートしました。CakePHP2.8→CakePHP2.10に関しては特に大きな問題もなくアップデートできました。CakePHP2.9のタイミングでObjectクラスが非推奨になりました。(PHP7でObjectが予約語になっている)https://book.cakephp.org/2.0/ja/appendices/2-9-migration-guide.htmlそのため、アップデート後にObjectからCakeObjectへの置き換えを行いました。その他のライブラリpsyshv0.8.14→v0.9.9へバージョンアップPHPExcelphpoffice/phpexcelはサポートを終了しているのでphpoffice/phpspreadsheetへ移行。今後の予定ランサーズのPHP、CakePHPバージョンアップは、以下のフェーズに分けて取り組んでいます。2.10今回、第4フェーズを終えることができました。続きまして、第5フェーズである、PHP7化に着手いたします。©Lancers,inc.。