PHP6.jp » admin http://php6.jp PHP6の最新動向まとめサイト Fri, 26 Sep 2014 03:05:47 +0000 ja hourly 1 http://wordpress.org/?v=4.0.8 PHP 5.6.0 released http://php6.jp/2014/09/26/php-5-6-0-released/ http://php6.jp/2014/09/26/php-5-6-0-released/#comments Fri, 26 Sep 2014 03:05:05 +0000 http://php6.jp/?p=418 2014年8月28日に、PHP 5.6.0がリリースされました。

]]>
http://php6.jp/2014/09/26/php-5-6-0-released/feed/ 0
PHP5.6.0 RC3リリース http://php6.jp/2014/08/01/php5-6-0-rc3%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9/ http://php6.jp/2014/08/01/php5-6-0-rc3%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9/#comments Fri, 01 Aug 2014 02:54:00 +0000 http://php6.jp/?p=415 PHP5.6.0のRC3が2014年7月31日リリースされた。RC4は8月14日にリリースされる予定だそうです。9月頃にはPHP5.6が正式リリースされそうですね。

]]>
http://php6.jp/2014/08/01/php5-6-0-rc3%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9/feed/ 0
PHP5.6 beta http://php6.jp/2014/06/08/php5-6-beta/ http://php6.jp/2014/06/08/php5-6-beta/#comments Sun, 08 Jun 2014 03:18:33 +0000 http://php6.jp/?p=410 2014年6月5日 PHP5.6のβ4がリリースされた。次は、6月19日にRC(リリース候補版)が公開されるそうだ。早ければ7月中に、遅くとも年内には5.6の正式版がリリースされるだろう。

]]>
http://php6.jp/2014/06/08/php5-6-beta/feed/ 0
PHP 5.6.0beta3 http://php6.jp/2014/05/16/php-5-6-0beta3/ http://php6.jp/2014/05/16/php-5-6-0beta3/#comments Fri, 16 May 2014 01:11:11 +0000 http://php6.jp/?p=407 PHP 5.6.0beta3が2014年5月15日にリリースされた。次のベータバージョンは5月29日にリリースされ、それが最後のベータになるそうだ。それ移行は、RC版が幾つかリリースされ、正式版のリリースに進むだろう。早ければ7月頃にも正式版がリリースされるかもしれない。

PHP 5.6.0beta3 Released

]]>
http://php6.jp/2014/05/16/php-5-6-0beta3/feed/ 0
ISO-2022-JPでメールを送る際に文字化け http://php6.jp/2014/04/06/iso-2022-jp%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%92%e9%80%81%e3%82%8b%e9%9a%9b%e3%81%ab%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91/ http://php6.jp/2014/04/06/iso-2022-jp%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%92%e9%80%81%e3%82%8b%e9%9a%9b%e3%81%ab%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91/#comments Sun, 06 Apr 2014 12:55:09 +0000 http://php6.jp/?p=403 ISO-2022-JPでメールを送る際に機種依存文字が文字化けすることがあります。
そういう場合は「ISO-2022-JP」ではなく「ISO-2022-JP-MS」を指定するとうまくいくようです。うまくいきました。

1
mb_convert_variables('ISO-2022-JP-MS', 'UTF-8', $textbody, $subject);
]]>
http://php6.jp/2014/04/06/iso-2022-jp%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%92%e9%80%81%e3%82%8b%e9%9a%9b%e3%81%ab%e6%96%87%e5%ad%97%e5%8c%96%e3%81%91/feed/ 0
PHP5.6α2 http://php6.jp/2014/03/04/php5-6%ce%b12/ http://php6.jp/2014/03/04/php5-6%ce%b12/#comments Tue, 04 Mar 2014 00:32:13 +0000 http://php6.jp/?p=400 先日リリースされたPHP5.6α2で、累乗演算子(**)が実装されました。PHP5.5の時は、α6、β4、RC3と、正式リリースまでかなりの数のバージョンを重ねたので、PHP5.6のリリースはまだ遠そうですが、早ければ夏頃、おそくとも年内にはバージョン5.6の正式版がリリースされそうです。

]]>
http://php6.jp/2014/03/04/php5-6%ce%b12/feed/ 0
PHP5.6アルファ1 http://php6.jp/2014/02/02/php5-6%e3%82%a2%e3%83%ab%e3%83%95%e3%82%a11/ http://php6.jp/2014/02/02/php5-6%e3%82%a2%e3%83%ab%e3%83%95%e3%82%a11/#comments Sun, 02 Feb 2014 08:47:17 +0000 http://php6.jp/?p=395 まだPHP5.5の新機能も把握できていないうちに、PHP5.6のアルファ版がリリースされてしまいました。今はPHPの比重がそこそこ重い案件を中心に開発業務に当っていますが、今後はRubyの大型案件が控えており、PHPからは少し距離を置くことになりそうです。とはいえ、PHPの継続案件も複数あるので、このサイトの更新も適宜おこないたいと思います。

PHP5.6α1での新機能は以下のとおり(他にもありますが・・)

  • constant scalar expressions,
  • 計算結果を定数として使える機能です。依存関係のある定数を定義するときに便利そうですね。※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"
    ?>
  • variadic functions,
  • 可変長引数ですね。今でも、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

  • argument unpacking,
  • 引数のアンパッキング。複数の引数を渡す替わりに、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

  • support for large(>2GiB) file uploads,
  • 2GiB以上のファイルをアップロードできるようになるそうです。今までは2GiB以上のファイルは駄目だったんですね。知りませんでした。

  • SSL/TLS improvements,
  • SSLまわりの機能が向上したそうです。よくわかりません。

  • a new command line debugger called phpdbg.
  • 新たなコマンドラインデバッガーを使えるようになりそうです。

正直いって、PHP5.6に積極的にアップデートする理由が見つかりませんでした。まだαなので、あっと驚く新機能が追加される可能性もありますけどね。

]]>
http://php6.jp/2014/02/02/php5-6%e3%82%a2%e3%83%ab%e3%83%95%e3%82%a11/feed/ 0
mb_convert_encodingで機種依存文字を含む文字列を変換 http://php6.jp/2013/10/16/mb_convert_encoding%e3%81%a7%e6%a9%9f%e7%a8%ae%e4%be%9d%e5%ad%98%e6%96%87%e5%ad%97%e3%82%92%e5%90%ab%e3%82%80%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e5%a4%89%e6%8f%9b/ http://php6.jp/2013/10/16/mb_convert_encoding%e3%81%a7%e6%a9%9f%e7%a8%ae%e4%be%9d%e5%ad%98%e6%96%87%e5%ad%97%e3%82%92%e5%90%ab%e3%82%80%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e5%a4%89%e6%8f%9b/#comments Wed, 16 Oct 2013 05:06:24 +0000 http://php6.jp/?p=383 mb_convert_encodingで機種依存文字を含む文字列を変換

SJISじゃなくてSJIS-win、EUC-JPじゃなくてeucJP-winを使おう

mb_convert_encodingで機種依存文字を含む文字列を変換する場合は、変換元の文字コードとしてSJISやEUC-JPの代わりに、「SJIS-win」や「eucJP-win」を指定しなければならないそうです。utf-8以外は使うな!機種依存文字を使うな!と主張したいところなのですが、どうしようもないこともあるんです。

]]>
http://php6.jp/2013/10/16/mb_convert_encoding%e3%81%a7%e6%a9%9f%e7%a8%ae%e4%be%9d%e5%ad%98%e6%96%87%e5%ad%97%e3%82%92%e5%90%ab%e3%82%80%e6%96%87%e5%ad%97%e5%88%97%e3%82%92%e5%a4%89%e6%8f%9b/feed/ 0
PHPのバージョンを隠す http://php6.jp/2013/09/15/php%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e3%82%92%e9%9a%a0%e3%81%99/ http://php6.jp/2013/09/15/php%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e3%82%92%e9%9a%a0%e3%81%99/#comments Sun, 15 Sep 2013 07:10:07 +0000 http://php6.jp/?p=378  PHP5.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

]]>
http://php6.jp/2013/09/15/php%e3%81%ae%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e3%82%92%e9%9a%a0%e3%81%99/feed/ 0
PHP 5.5.1 Released http://php6.jp/2013/08/11/php-5-5-1-released/ http://php6.jp/2013/08/11/php-5-5-1-released/#comments Sun, 11 Aug 2013 05:20:12 +0000 http://php6.jp/?p=375 7月18日にPHP5.5.1がリリースされました。5.5.0と比べてXMLのParserのセキュリティーホールを含め、20程度の不具合が修正されているそうです。PHP5.5系はまだ正式リリースされて間もないので本番運用に使うのは不安も残りますが、PHP5.3のメンテナンス期間が残り1年であることを考えると、5.3以前のバージョンを利用している場合は5.4もしくは5.5への移行を計画的に進めるべきでしょう。

]]>
http://php6.jp/2013/08/11/php-5-5-1-released/feed/ 0