diff options
| author | 2018-10-14 14:37:50 +0200 | |
|---|---|---|
| committer | 2018-10-14 14:37:50 +0200 | |
| commit | 5b030dcc6ff1393e29ecc6e5c76f129c7ad6c914 (patch) | |
| tree | 6f067da3d9cc3c9691053ebae6c25750c79a4eb3 /app/layout/layout.phtml | |
| parent | 1f3953715892a3944895f80c4dce559b7e4e86d4 (diff) | |
Ensure fast flush of HTTP headers and HTML head (#2045)
* Ensure fast flush of HTTP headers and HTML head
The fast flush optimisation done in
https://github.com/FreshRSS/FreshRSS/pull/1133 does not seem to work
anymore (need to check if it is related to a PHP version).
Work-around when PHP flush() is not working
Can be tested by adding a `sleep(5);` after:
https://github.com/FreshRSS/FreshRSS/blob/ee902ee7c4370421802768c3105ba269a4f97b16/app/layout/layout.phtml#L27
Follow-up of the performance checks of
https://github.com/FreshRSS/FreshRSS/pull/2040
* output_buffering in .user.ini for PHP CGI / FPM
* Reuse .user.ini for Docker PHP config
* Longer flush
Flush a bit later, to be compatible with the default value of 4096 for
PHP output_buffering, and thus avoid the need of tuning the value.
Diffstat (limited to 'app/layout/layout.phtml')
| -rw-r--r-- | app/layout/layout.phtml | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/app/layout/layout.phtml b/app/layout/layout.phtml index b244639a4..2e16672e6 100644 --- a/app/layout/layout.phtml +++ b/app/layout/layout.phtml @@ -18,13 +18,7 @@ <meta name="msapplication-TileColor" content="#FFF" /> <?php if (!FreshRSS_Context::$system_conf->allow_referrer) { ?> <meta name="referrer" content="never" /> -<?php - } - flush(); - if (isset($this->callbackBeforeContent)) { - call_user_func($this->callbackBeforeContent, $this); - } -?> +<?php } ?> <?php echo self::headTitle(); ?> <?php $url_base = Minz_Request::currentRequest(); @@ -43,10 +37,19 @@ <?php } ?> </head> <body class="<?php echo Minz_Request::actionName(); ?>"> -<?php $this->partial('header'); ?> +<?php + flush(); + $this->partial('header'); +?> <div id="global"> - <?php $this->render(); ?> + <?php + flush(); + if (isset($this->callbackBeforeFeeds)) { + call_user_func($this->callbackBeforeFeeds, $this); + } + $this->render(); + ?> </div> <?php |
