PHP5.6 から PHP7 への移行

セキュリティサポートは延長され2年程続くが、アクティブサポートは終了している。
PHPのリリース日とサポート期限

PHP 5.6.x から PHP 7.0.x への移行

余程の変態コーディングをしていなければ、大事にはならない模様。
一部削除された関数があるので要チェック。
ereg()、split()は削除されたがmb_ereg()、mb_split()は残っていたりする為。

また、エラーレベルが変わった関係でAjaxレスポンスにエラーメッセージが混入して、Jsonパースエラーみたいな例があったり。
自前のコードはどうにでも出来るがComposer経由でインストールしているライブラリのが面倒。
(PHP7に対応しているバージョンがあればそちらを指定)

AmazonのMWSライブラリの一部が軒並みダメ。

PHP Fatal error: Redefinition of parameter $quotaMax in FBAInboundServiceMWS\Model\ResponseHeaderMetadata.php on line 31

引数名の重複を修正
システムのソースに混ぜるのは嫌だったので、GitHubに修正版を登録。ライセンスで再配布を許可しているため、同じような目的でforkされているのが散見される。
Composerからのインストール後で入れ替えが効くようZIPから展開させている。

公式の期限では後2年となり、移行期間として十分だろう。
7.1からパフォーマンスが上がっているのも嬉しい。
IDEなどを利用して、日頃から@deprecatedに気を配れば移行の負担も軽減される。

キャプチャアプリ screenpresso

Twitterにも投稿したscreenpressoというキャプチャーアプリが便利。

キャプチャーできるだけでなく、全画面、ウィンドウ、範囲でキャプチャが出来て、それが一時保存されます。
一時保存された画像を選択すると編集画面になり、矢印や文字、枠線、ボカシなどの加工が簡単にできます。

これが開発にも便利で、バグ報告とか、画面UIの説明時に非常に助かります。

PHP7とSSL

WordPressのPHPを5.6から7にしてみました。
一部プラグインがエラーになり、画面すら表示されませんでしたが、エラーログを見て該当プラグインを削除して対応。

PHP5からPHP7への移行は比較的カンタンになっていますが、一部関数が削除されていたり、今まではwarningだったのがfatalになっていたりするので、全文検索して修正すると良いでしょう。

また、こちらのサイトは「さくらインターネット」のレンタルサーバで運用しています。
複数ドメインあるならVPSでも良かったのですが、メンテを考えると安上がりです。

最近では無料SSLなるものが登場しており、興味を持ったのですが、更新作業が必要だったり手間が掛かりそう。
レンタルサーバにも「ラピッドSSL」オプションが登場していて、3年で3,456円(2017年)と爆安。
ブロガーではないのでgoogleの常時SSL化には怯えていないのですが、導入してみました。
証明書の発行もあっという間で、設定は管理画面に貼り付けるだけなので、楽々出来ました。