This is expected if your terminal has the tostop option enabled. When that is set, any background process that tries to output to the terminal receives the SIGTTOU signal, and that signal's default handler stops the process. (This is done so that output from background processes doesn't mess up your terminal.)
You can disable this feature by running stty -tostop, in the same terminal.
Your current situation:
$ stty tostop
$ php ./t.php &
[1] 6484
$
[1]+ Stopped php ./t.php
$ # no messing up of the terminal, process stopped
$ fg
php ./t.php
0^C
$
Disable that feature:
$ stty -tostop
$ php ./t.php &
[1] 6481
$ # 01an2d 3now 45 6it m7esses 8up 9my term!