Blank Seite, wenn ich deklariere (strict_types = 1); in PHP 7 oben in der Datei

Vor kurzem habe ich PHP 7 ausgecheckt, und zwar Rückgabetypdeklaration undtype hinting. Ich habe PHP 7 aus dem Quellcode kompiliert (Hauptzweig von Github) und läuft es in Ubuntu 14.04 virtuelle Box. Ich habe versucht, folgenden Code auszuführen, um einen Test von new @ zu erhalte Ausnahmen. Aber es gab eine leere Seite.

<?php

function test(): string {

    return [];
}

echo test();

Dann wird mir klar, dass ich den Fehler einstellen muss, damit er auf dem Bildschirm angezeigt wird. Also habe ich altmodisches @ hinzugefüini_set('display_errors', 1); Wie unten

<?php
ini_set('display_errors', 1);

function test(): string {

    return [];
}

echo test();

das gab mir folgendeTypeError wie erwartet nach diesemThrowable Schnittstelle RFC

Schwerwiegender Fehler: Nicht abgefangener TypeError: Der Rückgabewert von test () muss vom Typ string sein. Das Array wird in /usr/share/nginx/html/test.php in Zeile 7 in / usr / share / nginx / html / test zurückgegeben. php: 7 Stack trace: # 0 /usr/share/nginx/html/test.php(10): test () # 1 {main} in /usr/share/nginx/html/test.php in Zeile 7

Digging weiter habe ich hinzugefügtdeclare(strict_types=1); oben wie unten,

<?php declare(strict_types=1);

ini_set('display_errors', 1);

function test(): string {

    return [];
}

echo test();

and Bang, Fehler ist gerade verschwunden und hat mich mit einer leeren Seite zurückgelassen. Ich kann nicht herausfinden, warum es mir eine leere Seite gibt?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage