I figured out a way to return a response and then keep doing lots of other work:
<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('text/html');
HttpResponse::setData("<html>hellow world...</html>");
HttpResponse::send();
flush();
// Response has been sent
sleep(30);
define_syslog_variables();
openlog("cloudcacheLog", LOG_PID , LOG_LOCAL0);
syslog(LOG_INFO, "Writing log well after send and flush...");
?>
Response time according to LORI (firefox addon): 0.130s - tailing /var/log/syslog - message hits 30 seconds later.
HttpResponse::send
(PECL pecl_http >= 0.10.0)
HttpResponse::send — Envoie la réponse
Description
static
bool HttpResponse::send
([ bool $clean_ob= true
] )
Envoie la réponse.
Si c'est un succès, le script se termine et une entrée dans l'historique est écrite si le directive de configuration INI http.log.cache est défini. Voir la directive de configuration INI http.force_exit pour savoir ce que signifie "exits".
Liste de paramètres
- clean_ob
-
si l'on doit détruire tous les gestionnaires de sortie précédemment démarrés ainsi que leurs buffers
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemples
Exemple #1 Exemple avec HttpResponse::send()
<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf", false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>
HttpResponse::send
mbyrd at cloudcache dot net
10-Sep-2008 09:35
10-Sep-2008 09:35
barnett dot [NOSPAM]thomas at gmail dot com
26-May-2008 04:31
26-May-2008 04:31
I was having a problem with the bytes appended to the output, using the given example.
<?php
...
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>
Content-Length mismatch: Response Header claimed x bytes, but server sent x+5 bytes.
Adding an exit statement solved this problem.
