てきとうなさいと べぇたばん

PHP 7.0.2がリリースされたのでこのサイトもPHP 7.0.2にアップデートしました

うわっ、やっべー、X-Powerd-ByヘッダそのままだわーPHP 7.0.2だってバレるわーやっべー

PHP 7.0.2 Released

PHP 7.0.2がリリースされました。というわけで、このサイトもPHP 7.0.2になりました。

おもろいアップデート

おもろいというか興味深いアップデートがありました。

Fixed bug #71092 (Segmentation fault with return type hinting).

https://bugs.php.net/bug.php?id=71092

タイプヒンティング関連のバグ。タイプヒンティングが成立していないとエラーが出るはずなのにSegfaultが出現する。Debianで再現できなかったしMacでの報告だったのでMacだけっぽい。

Test script:
---------------
File a.php : 
<?php
declare(strict_types = 1);

function id() {
    return ['id'];
}

function boom(): array {
    $data = [id()];
    switch($data[0]) {
        case ['id'] : return;
    }
}

set_exception_handler(function($e) {
    require_once './c.php';
    echo "plop";
});

boom();
?>

File c.php :
<?php
?>


Expected result:
----------------
I am supposed to be shown "plop" as a result.

Instead of that I get :

Fixed bug #70804 (Unary add on negative zero produces positive zero).

https://bugs.php.net/bug.php?id=66179

限りなく小さい値として扱うマイナス0が表現できない問題。すみません、今まで知りませんでした。「-0」って浮動小数点の世界では存在するのですね。PHP 5.6でも再現できました。

https://ja.wikipedia.org/wiki/%E2%88%920

Description:
------------
Given a negative number, it's possible to turn it into positive by just putting a positive sign in front of it.

Test script:
---------------
var_dump(round(-1e-99));
var_dump(+round(-1e-99));

Fixed bug #66179 (var_export() exports float as integer).

https://bugs.php.net/bug.php?id=66179

あっ…

$ php -r 'var_export(1.0);'
1