I have always used this idiom:
Quoting from p.21 of Data Push Apps With HTML5 SSE: (disclaimer: my book)
@ is said to be slow. But putting that in context, it adds on the order of 0.01ms to call it twice, as shown here. ... http://git.php.net/?p=php-src.git;a=blob;f=sapi/apache2handler/sapi_apache2.c#l290 suggests flush() can never throw an error, so @ on flush() could be dropped, just leaving it on @ob_flush().
http://git.php.net/?p=php-src.git;a=blob;f=main/output.c#l1328 shows the two E_NOTICEs that
ob_flush() can give.