diff options
| author | Michael Foster <savetheinternet@tinyboard.org> | 2013-09-23 10:21:18 +1000 |
|---|---|---|
| committer | Michael Foster <savetheinternet@tinyboard.org> | 2013-09-23 10:21:18 +1000 |
| commit | fcbc21131431725e4cb4cafde0fd907e9c607fa1 (patch) | |
| tree | 525a2e94e4a67dcd611baed5750fcf2d937a6075 | |
| parent | 39be89ba4945238f6311454283a66930b94577be (diff) | |
Fixed weird bug with ?/debug/sql trying to allocate a few GB on some instances. Assuming bug with APCu.
| -rw-r--r-- | inc/mod/pages.php | 8 | ||||
| -rw-r--r-- | templates/mod/debug/apc.html | 9 |
2 files changed, 9 insertions, 8 deletions
diff --git a/inc/mod/pages.php b/inc/mod/pages.php index 4346cf94..b240db55 100644 --- a/inc/mod/pages.php +++ b/inc/mod/pages.php @@ -2363,7 +2363,13 @@ function mod_debug_apc() { if ($config['cache']['enabled'] != 'apc') error('APC is not enabled.'); - $cached_vars = new APCIterator('user', '/^' . $config['cache']['prefix'] . '/'); + $cache_info = apc_cache_info('user'); + // $cached_vars = new APCIterator('user', '/^' . $config['cache']['prefix'] . '/'); + $cached_vars = array(); + foreach ($cache_info['cache_list'] as $var) { + $cached_vars[] = $var; + } + mod_page(_('Debug: APC'), 'mod/debug/apc.html', array('cached_vars' => $cached_vars)); } diff --git a/templates/mod/debug/apc.html b/templates/mod/debug/apc.html index 53f59eb0..0aa05e9f 100644 --- a/templates/mod/debug/apc.html +++ b/templates/mod/debug/apc.html @@ -5,19 +5,14 @@ <th class="minimal">Created</th> <th class="minimal">Expires</th> <th class="minimal">Size</th> - <th>Value</th> </tr> {% for var in cached_vars %} <tr> - <td class="minimal">{{ var.key }}</td> + <td class="minimal">{% if var.key %}{{ var.key }}{% else %}{{ var.info }}{% endif %}</td> <td class="minimal">{{ var.num_hits }}</td> <td class="minimal">{{ var.creation_time|ago }} ago</td> - <td class="minimal">{{ (var.creation_time + var.ttl)|until }} (ttl: {{ var.ttl }}s)</td> + <td class="minimal">{{ (var.creation_time + var.ttl)|until }} (ttl: {{ (time() + var.ttl)|until }})</td> <td class="minimal">{{ var.mem_size }} bytes</td> - <td style="word-wrap:break-word"> - {% set value = var.value|json_encode %} - <code>{{ value[:80]|e('html') }}{% if value|length > 80 %}…{% endif %}</code> - </td> </tr> {% endfor %} </table>
\ No newline at end of file |
