Quantcast
Channel: herb miller
Viewing all articles
Browse latest Browse all 128

Site recovered – sorry for the inconvenience

$
0
0

Sometime on the 12th my site started to produce a series of PHP Fatal errors saying "Allowed memory size of 41943040 bytes exhausted.". This was a bit of a surprise. It means that my memory limit was 40M, a lot lower than the expected value of 256M.

Other times the response was
[bw_geshi lang=none]
[13-Jul-2016 02:54:59 UTC] PHP Fatal error: Unknown:
Cannot use output buffering in output buffering display handlers in Unknown on line 0
[/bw_geshi]

Problem recovery

To recover from this problem I used ftp to rename Jetpack to Jetpack-f.
I was then able to access the site.

Problem explanation

  • The site was migrated from one host to another.
  • The PHP version on the new host was 5.4.45.
  • The memory_limit was set to 25M.
  • For PHP 5.3, 5.5 and 5.6 the memory_limit would have been 256M; a much nicer number.
  • By the time WordPress started up the memory limit became 40M.
  • It's WordPress that sets this limit, depending on the site. For WPMS it's 64M.
    See [api wp_initial_constants].

I've yet to track down the specific plugin/module combination that causes WP to exceed the 4OM limit.

Other notes

  • My oik-bwtrace plugin reports the memory limit on its admin page.
  • This is 256M, since WordPress sets it higher in admin pages. Using [hook admin_memory_limit] in wp-admin/admin.php.
  • I've changed my [bw_code wp] shortcode to display the memory limit on the front-end.
  • For this site the memory_limit has already been set by the hosting company to a high value.

    [wp v p m]
  • I'm also experimenting with code that displays the current memory_limit in trace records produced by oik-bwtrace. They already optionally display current and peak memory usage, so adding the current memory limit is no big deal.

The post Site recovered – sorry for the inconvenience appeared first on herb miller.


Viewing all articles
Browse latest Browse all 128

Trending Articles