タグ

phpとphp-7.1に関するnabinnoのブックマーク (6)

  • グーペのPHPバージョンを5.2から7.1にアップグレードしました - Pepabo Tech Portal

    こんにちは、グーペグループエンジニア @hypermkt と技術部インフラグループ・シニアエンジニア @hfm です。半年に及ぶグーペのPHPアップグレード作業が2017年5月中旬に全て完了し、PHPバージョンは5.2から7.1になりました。今回の記事ではアップグレードの過程と効果について、ご紹介させていただきます。 はじめに 8年目のホームページ作成サービス「グーペ」 なぜ8年目のタイミングでアップグレードをしたのか アップグレード基方針 PHP5.2との後方互換性を維持する deprecatedの対応は優先度低め 事前準備 新旧両バージョンで継続的テスト より広範囲をカバーできるE2Eテストを重視 リアルタイムエラー検知 下位互換性のない変更点の修正 php7ccによる互換性の自動検知 MySQL関数の削除 preg_replaceへの置き換え PHP7.1用php.iniの作成 リ

    グーペのPHPバージョンを5.2から7.1にアップグレードしました - Pepabo Tech Portal
  • PHP7.1以降なおったバグたち - Qiita

    2016/12/01に出たPHP7.1.0以降、2017/04/13に出た7.1.4までに修正されたバグのうち、目立ったものを取り出してみた。 メモリリークとかSegfaultとか長すぎるやつとかは確かめるのが面倒なのでスルー。 array_key_exists fails on arrays created by get_object_vars オブジェクトから配列にしたらarray_key_existsでキーが見つからないという問題。 $json = '{"2":1}'; $obj = json_decode($json); $arr = get_object_vars($obj); $key = array_key_exists('2', $arr); // falseになる これは$arrが[2=>1]ではなく["2"=>1]になっているせいで発生する問題です。 元々7.2でなおす

    PHP7.1以降なおったバグたち - Qiita
  • TLS 1.3 に備えて PHP 7.1 にアップグレードする

    概要 2017年前半に TLS 1.3 の仕様が発行されます。TLS 1.3 では仕様の簡略化が進められ、速度が改善されるとともにプライバシーの保護の強化が図られています。Google が提唱する次世代プロトコルの QUIC は TLS 1.3 に対応し、2018年に仕様が発行される予定です。curl の開発者は QUIC 対応を表明しています。 2016年にリリースされた OpenSSL v1.1.1 は TLS 1.3 に部分的に対応し、2017年にリリース予定の v1.1.1 で完全に対応します。 OpenSSL 1.1 系には 1.0 系に対して後方互換性がない変更が多く含まれているため、PHP 7.1 は OpenSSL 1.1 系に対応しますが、PHP 5.6、7.0 は対応しない予定です。 今後5年10年後にTLS 1.3 を必須とするプロトコルが必要になったとき、もしくはブ

    TLS 1.3 に備えて PHP 7.1 にアップグレードする
  • PHP 7.1でOPcacheがすごい速くなってた - Qiita

    去る12/1(日時間12/2)にPHP 7.1.0が無事リリースされましたね!みなさんビルドしてみましたか? そんな中、PHP Classesの記事「PHP Performance Evolution 2016 from PHP 5, PHP 7.0, PHP 7.1 and PHP 8/Next」にPHP 7.0から7.1で結構な性能改善があったと書いてあったので、追試してみたら当だったという話を紹介します。 記事の概要 上記の記事ではPHP 5.6→7.0での性能改善が大きかったこと、7.0→7.1でもかなりの性能改善があったこと、PHP 8.0になるであろうJITコンパイル実装も現時点でかなり速いことなどが紹介されています。 このうち1番目と3番目は既に知られている内容だと思いますが、2番目は筆者は初耳だったので、手元の環境で確かめてみました。 ベンチマーク(OPcacheなし)

    PHP 7.1でOPcacheがすごい速くなってた - Qiita
  • PHP7.1β1の新機能 - Qiita

    PHP7.1.0の新機能 / PHP7.1β1の新機能 / PHP7.1α1の新機能 / PHP7.0.0α1 / PHP5.6 PHP7.1はどういうわけか新機能をえらい盛り盛りしてきています。 前PHP7.1の新機能というのを書きましたが、その記事はα1時点のものでした。 α2、α3、β1でさらに色々追加されていたので見てみます。 Replace "Missing argument" warning with "Too few arguments" exception function foo($a){} foo(); // Fatal error: Uncaught Error: Too few arguments to function foo() foo(null); // OK デフォルト値の無い引数を省略した場合、これまではE_WARNINGが出るだけでしたが、今後はErro

    PHP7.1β1の新機能 - Qiita
  • PHP7.1α1の新機能 - Qiita

    PHP7.1.0の新機能 / PHP7.1β1の新機能 / PHP7.1α1の新機能 / PHP7.1.0α1インストール / PHP7.0.0α1 / PHP5.6 PHP7.1に導入決定・実装完了したRFCを見てみます。 Warn about invalid strings in arithmetic 非数値文字列の数値演算でエラーが発生する。 $x = 1 + 'a'; // Warning: A non-numeric string encountered $y = 1 + '1a'; // Notice: A non well formed numeric string encountered $z = 1 + '1'; // 大丈夫っぽい $x = (1 + (int)'a'); // 回避手段1 $x = @(1 + 'a'); // 回避手段2 数値として解釈可能であればE

    PHP7.1α1の新機能 - Qiita
  • 1