PHP5.6.0のRC3が2014年7月31日リリースされた。RC4は8月14日にリリースされる予定だそうです。9月頃にはPHP5.6が正式リリースされそうですね。
Categories » ‘未分類’
PHP5.6 beta
6月 8th, 2014 by admin2014年6月5日 PHP5.6のβ4がリリースされた。次は、6月19日にRC(リリース候補版)が公開されるそうだ。早ければ7月中に、遅くとも年内には5.6の正式版がリリースされるだろう。
PHP 5.6.0beta3
5月 16th, 2014 by adminPHP 5.6.0beta3が2014年5月15日にリリースされた。次のベータバージョンは5月29日にリリースされ、それが最後のベータになるそうだ。それ移行は、RC版が幾つかリリースされ、正式版のリリースに進むだろう。早ければ7月頃にも正式版がリリースされるかもしれない。
ISO-2022-JPでメールを送る際に文字化け
4月 6th, 2014 by adminISO-2022-JPでメールを送る際に機種依存文字が文字化けすることがあります。
そういう場合は「ISO-2022-JP」ではなく「ISO-2022-JP-MS」を指定するとうまくいくようです。うまくいきました。
1 |
PHP5.6α2
3月 4th, 2014 by admin先日リリースされたPHP5.6α2で、累乗演算子(**)が実装されました。PHP5.5の時は、α6、β4、RC3と、正式リリースまでかなりの数のバージョンを重ねたので、PHP5.6のリリースはまだ遠そうですが、早ければ夏頃、おそくとも年内にはバージョン5.6の正式版がリリースされそうです。
PHP5.6アルファ1
2月 2nd, 2014 by adminまだPHP5.5の新機能も把握できていないうちに、PHP5.6のアルファ版がリリースされてしまいました。今はPHPの比重がそこそこ重い案件を中心に開発業務に当っていますが、今後はRubyの大型案件が控えており、PHPからは少し距離を置くことになりそうです。とはいえ、PHPの継続案件も複数あるので、このサイトの更新も適宜おこないたいと思います。
PHP5.6α1での新機能は以下のとおり(他にもありますが・・)
- constant scalar expressions,
- variadic functions,
- argument unpacking,
- support for large(>2GiB) file uploads,
- SSL/TLS improvements,
- a new command line debugger called phpdbg.
計算結果を定数として使える機能です。依存関係のある定数を定義するときに便利そうですね。※PHPで定数使ったことありませんが・・
1 2 3 4 | <?php const a = 1; const b = a?2:100; // here the value of the constant "b" is dependent on the constant "a" ?> |
可変長引数ですね。今でも、func_get_args()を使えば同等のことはできるので、シンタックスシュガーが追加される感じですね。
1 2 3 4 5 6 7 8 | class MySQL implements DB { public function query($query, ...$params) { $stmt = $this->pdo->prepare($query); $stmt->execute($params); return $stmt; } // ... } |
https://wiki.php.net/rfc/variadics
引数のアンパッキング。複数の引数を渡す替わりに、1個の配列を渡せるようです。便利・・・なのかな。
1 2 3 4 | function test(...$args) { var_dump($args); } test(1, 2, 3); // [1, 2, 3] test(...[1, 2, 3]); // [1, 2, 3] test(...new ArrayIterator([1, 2, 3])); // [1, 2, 3] |
https://wiki.php.net/rfc/argument_unpacking
2GiB以上のファイルをアップロードできるようになるそうです。今までは2GiB以上のファイルは駄目だったんですね。知りませんでした。
SSLまわりの機能が向上したそうです。よくわかりません。
新たなコマンドラインデバッガーを使えるようになりそうです。
正直いって、PHP5.6に積極的にアップデートする理由が見つかりませんでした。まだαなので、あっと驚く新機能が追加される可能性もありますけどね。
mb_convert_encodingで機種依存文字を含む文字列を変換
10月 16th, 2013 by adminmb_convert_encodingで機種依存文字を含む文字列を変換
SJISじゃなくてSJIS-win、EUC-JPじゃなくてeucJP-winを使おう
mb_convert_encodingで機種依存文字を含む文字列を変換する場合は、変換元の文字コードとしてSJISやEUC-JPの代わりに、「SJIS-win」や「eucJP-win」を指定しなければならないそうです。utf-8以外は使うな!機種依存文字を使うな!と主張したいところなのですが、どうしようもないこともあるんです。
PHPのバージョンを隠す
9月 15th, 2013 by adminPHP5.5がリリースされてから3ヶ月が過ぎようとしている。新規開発のWebサイトであれば、PHP5.5を前提に開発している場合もあるだろうが、既存のWebサイトの多くでは未だにPHP5.2や5.3が使われている。古いバージョンのPHPを使い続けることによってセキュリティーリスクは増大するが、かといって、無計画にPHPのバージョンを上げることはできない。PHP5.2で動いていたWebアプリケーションが、PHP5.5で動く保証はない。良くて大量の警告が発生する。最悪の場合は全く動かない。
バージョンアップできなければどうすればよいのだろうか?せめて、バージョン情報を晒すのを辞めてはどうだろうか?(yahoo.co.jp、google.com、apple.com、amazon.co.jpなど大手のサイトでは、どれもバージョン情報を隠しているが、大手ニュースサイトでもバージョン情報を隠していないサイトは多い。)
・HTTP Header/X-Powered-By:PHP/x.y.zを非表示に
php.iniのexpose_phpをOnからOffに変更する。
expose_php = On
expose_php = Off
・HTTP Header/Server: Apache/x.y.zを非表示に
httpd.confのServerTokensをProductOnlyに変更する。
ServerTokens ProductOnly
・エラーページからバージョン表示を消す
httpd.confのServerSignatureをOnからOffに変更する。
ServerSignature On
ServerSignature Off
PHP 5.4.13 and PHP 5.3.23 released!
3月 20th, 2013 by admin2013年3月14日に、PHP5.4.13とPHP5.3.23がリリースされた。このリリースでは、CVE-2013-1643 and とCVE-2013-1635を含む15の不具合が修正されている。CVE-2013-1643とCVE-2013-1635は、SOAP WSDLの外部エンティティ機能を使うと任意のファイルを閲覧できてしまう不具合です。これらの技術を使っている場合は速やかにアップデートすべきでしょう。
遅れ気味ではありますが、PHP5.5の開発も進んでいます。近いうちに(おそらくGWまで)にPHP5.5のベータ版はリリースされるでしょう。PHP5.5の安定版(PHP5.5.0)がリリースされた時点で、PHP5.3系のメンテナンスは打ち切られることになりそうなので、PHP5.3からPHP5.4への移行準備は早めに進めておきましょう。
PHP5.5の変更点
3月 4th, 2013 by admin
新しい構文が追加されました。使いドコロが難しそうです。CSVのインポートやエクスポートでメモリ消費を抑制するのに良いかも。
try、catchでfinally出来るようになりました。今までなかったんですね。
foreachのasの右側にlistを使えるようになりました。あって困る機能ではないですね。
$data = array(
array(1,2,3),
array(2,3,4)
);
foreach($data as list($a, $b, $c)){
}
empty(trim($hoge))がOKになったそうです。empty信者にはいいですね。
“Hello World”[0] に対応しました。何が嬉しいのか全くわかりません。
ストレッチングが簡単にできるようになりました。シードつけてストレッチ。自前で実装しなくていいって素敵ですね。
あちこち改良されているものの、今直ぐPHP5.5を使うべき積極的理由は見当たりません。とはいうものの、PHP5.3のメンテナンスがまもなく打ち切られ、PHP5.4のメンテナンスも1年余り先には打ち切られることを想定すると、これから新規で開発するならPHP5.5にしちゃっても後悔しないと思います。5月頃に安定版が出るとして・・・夏以降に運用開始なシステムならPHP5.5でいっちゃいましょう。