If you use output_buffering = On
in your php.ini
you can send cookies after the headers have been sent.
This is noticed in php.ini comment :
Output buffering allows you to send header lines (including cookies)
even after you send body content, at the price of slowing PHP's
output layer a bit. You can enable output buffering during runtime by
calling the output buffering functions. You can also enable output
buffering for all files by setting this directive to On. If you wish
to limit the size of the buffer to a certain size - you can use a
maximum number of bytes instead of 'On', as a value for this
directive (e.g., output_buffering=4096).