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 — Yanıt gönderir
Açıklama
static
bool HttpResponse::send
([ bool $tamponu_temizle = true
] )
Öğeyi son olarak gönderir.
Önbelleğe alma işlemi başarılı olduğu takdirde PHP "çıkar" ve http.log.cache INI ayarı etkinse bir günlük girdisi yazılır. Buradaki "çıkar"ın anlamı için http.force_exit yönergesinin açıklamasına bakınız.
Değiştirgeler
- tamponu_temizle
-
Evvelce başlatılmış çıktı eylemcilerinin ve bunların tamponlarının iptal edilip edilmeyeceğini belirler.
Dönen Değerler
Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.
Örnekler
Örnek 1 - HttpResponse::send() örneği
<?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.
