title: Making PHP discard inline content before open tag on CLI
body: <p>So. I have a batch file. In that batch file is PHP code. The "only" problem I have is that the "preamble" is printed when PHP is executed. "@rem Standby..."</p>
  
  <p>Example batch file:</p>
  
  <pre><code>@rem Standby... &lt;?php ob_start(); ?&gt;
  @echo off
  echo Now in %comspec%
  echo I am on %OS% with %NUMBER_OF_PROCESSORS% CPUs    
  echo Now handing off to PHP...
  php.exe -f "%~f0" -- %*
  goto :eof
  &lt;?php ob_clean(); ob_end_flush(); 
  print "Now in PHP ".PHP_VERSION.PHP_EOL;
  print "All done!";
  </code></pre>
  
  <p>Which outputs something like:</p>
  
  <blockquote>
  <pre><code>Now in C:\WINDOWS\system32\cmd.exe
  I am on Windows_NT with 4 CPUs
  Now handing off to PHP...
  @rem Standby... Now in PHP 7.1.0
  All done!
  </code></pre>
  </blockquote>
  
  <p>I know this is because of the nature of PHP's parser which considers anything outside of tags inline content which should be displayed. This script may be used in an environment where I can't depend on PHP's configuration.</p>
  
  <p>How can I make PHP discard that inline content? (without editing the configuration)</p>
  
  <p>PHP 7.1 on Win10</p>