WordPress Plugin: WP System Health (en)
| WordPress Version: | WordPress 2.7 or higher |
| PHP Version: | PHP 4.4.2 or higher |
| tested Browser: | IE7 | FireFox 2.0.0.16 | Opera 9.27 | Safari (Windows) 3.1.2 | Google Chrome |
| not supported Browser: | none known yet |

Very often i had a lot of service request belong to not proper working installations of WordPress or not valid configured servers. Furthermore most of the Blog owner are not enough experienced to provide the requested information to continue with help. That’s why i decide to write a small Dashboard Widget showing all the most important values need to know about an WordPress installation.
Requirements and Limitations
This Dasboard widget requires a WordPress version equal or higher than 2.7 and a PHP version of 4.4.3 and higher. This Dashboard extension only displays some information but doesn’t change them nor provides any changing capabilities. It’s also limit to users that are member of the group “Administrator”. All other user won’t get this Widget in their Dashboard and the widget doesn’t collect any data in this case.
Future plans
As you can see, the plugin contains no translation option. This is subject of next releases. Also the amount of information shown at Dashboard will become configurable in future and will be defined by an addtional backend page. This will also introduce the first interaction and modification options to aid the system, if something went wrong.
Small Showcase
Here are the screenshots illustrating the 4 categories the Widget shows. Each category contains more information as you get initially presented. They can be expanded to get a more detailed overview about your system.
I got a small amount of replies about warnings presented, that a call to PHP function exec has been denied for security reasons. This mostly occures, if your provider is massive restrictive with functions you can use at your PHP code. That’s why the version 1.1.3 notices this fact and avoids using this. You will alternatively get such a “System” Tab with additional information:

Installation
- Uncompress the download package
- Upload folder including all files and sub directories to the `/wp-content/plugins/` directory.
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Navigate to your Dashboard and enjoy status informations
Download
actual version: wp-system-health-v1.3.3.zip (4139 downloads)
(The plugin is also hostet at wordpress.org Plugin Repository and subject of automatic plugin update.)
professional setup extension
Caution: This section is for experienced user that are knowing what they are doing! The plugin can show extra capabilities but will set your blog out of function, if it’s not done properly.
You may have noticed a difference between my System Tab at screenshot and your shown one. You will initially get as first Checkpoint something like this:

This is normal and can’t be done automatically. To get the initial amount of memory PHP consumes before the WordPress core is starting you have to insert into your wp-config.php an additional line between the definition of ABSPATH constant and loading the wp-settings.php.
Because this depends on your installation (the location of your plugin directory) please adjust the sample shown below to meet your installation environment.
| PHP | |
1 2 3 4 | define('ABSPATH', dirname(__FILE__).'/'); require_once(ABSPATH.'wp-content/plugins/wp-system-health/boot-loader.php'); require_once(ABSPATH.'wp-settings.php'); ?> |
| timing: 0.029s | |
The important part is the line, where the boot-loader.php out of this plugin’s directory have to be required once. If it’s proper done, you will get at your Dashboard now the correct startup memory consume of PHP environment.
Attention: As said in the caution box, do it with care! Also remember, once you have successful done this and you want to delete the plugin from your webspace, that the additional line have to be removed too!
I hope, this Plugin may also be helpful for your service desk operations, it definitely reduces the time spend to get informations from somebody not experienced.










Adam
20.06.2009 | 01:40I hightlighted the WP System Health plugin on my website.
I really like the amount of detail you provide and the way you present it to the user in a compact dashboard widget. Great job.
reply »
Kel
20.06.2009 | 02:06Yes - I love it too. I sent a tweet about it. Is awesomeness!!!
Thank you once again.
reply »
Viki
20.06.2009 | 11:45Excellent approach - Gives a decent amount of information about whats going on under the hood of your WordPress blog, if its purring like a Ferrari or stalling like a Mercury Grand Marquis….
Good work here, I hope you take this development further!
reply »
Daniel
20.06.2009 | 11:55Great plugin! I have installed in on my website.
I have two suggestions:
- Remote open Files and Remote include Files should be disabled for security reasons, to prevent Remote File Inclusion attacks. Current description suggests that it will be good to enable them. Please change this description and move them to ‘Security and Safe Mode’ section;
- Could you create widget which can be added to blog like other widgets? It should show data from System tab. Of course it should be displayed for admin only.
reply »
codestyling
20.06.2009 | 15:26Interesting suggestions, thanks for sharing. I think, that i can move this to the Security Section and also change the description smoothly. The idea of an ordinary widget only gets displayed if the user is logged on and is member of administrator group sounds like a good idea. I will check, how this can be done safely (also keep in mind, that the widget interface has been changed between 2.7 and 2.8).
reply »
Daniel
21.06.2009 | 11:34You can use 2.7 widget interface, it still works in 2.8.
reply »
baron
20.06.2009 | 18:21Works great, thank you
reply »
chris
20.06.2009 | 19:25i noticed a bug if you activate it when the download monitor plugin is installed, it wont show on the dashboard
reply »
codestyling
20.06.2009 | 19:28Thanks for reporting, i will check this immediately.
Update: I have tested this plugin “download-monitor.3.1.3″ from WordPress Plugin Repository updated last 16.06.2009.
I have no problems to show my DashBoard Widget even if this plugin is installed, deinstalled or re-installed.
I think, that your list of download stats will consume such a lot of memory, that there is no more remaining to produce the Health widget or you are just using an outdated version of.
Could you please more precisely describe the issue, because i’m unable to reproduce the reported bug.
reply »
Marcel
21.06.2009 | 08:48Seems to be a great plugin to me, but when using four columns on the dashboard the layout is not so nice. Can this be fixed?
reply »
codestyling
21.06.2009 | 13:39Ok, i will check this with 4 Columns. But it also depends in the size of your screen. If you are using a width of 1024px you will have not enough space remaining in each column. Also at my widescreen resolution of 1680px the size per column is not very much. I will think about, how a suitable solution could look like.
reply »
Marcel
25.06.2009 | 18:32The actual screen width was 1440px.
Maybe you can display values below the heading instead of next to the heading if space is limited.
reply »
codestyling
25.06.2009 | 19:55The may be a suitable solution. But this would require a floating and also overflow hidden cutting texts, if they still not fit into space (h-size) and can’t be broken because of missing whitespaces.
reply »
Deniz
21.06.2009 | 11:27i get this error ;
Warning: exec() has been disabled for security reasons in /home/asitweb/public_html/wp-content/plugins/wp-system-health/boot-loader.php on line 20
when i remove line 20 from bootloader it works without this error .
But i cant see system checkpoints as you can see here ..
reply »
codestyling
21.06.2009 | 14:01This sounds interesting because this would result in the fact, that your provider did disable the function memory_get_usage() out of PHP runtime too. Could you please check following 2 points:
1.) at tab “PHP” in section “Security and Safe Mode” there is after expanding an entry “Disabled Function”. Could you please check whether memory_get_usage is part of the value shown there ?
2.) the plugin tries to get the memory information on different ways, if the above name function is missing. At unix system it runs into the case containing line 20 you wrote. Could you please test a small change? Uncomment this line and prepend a @ sign in front of the exec:
@exec("ps -eo%mem,rss,pid | grep $pid", $output);This should suppress the warning but not solve the memory evaluation problem. If you could send me the list of disabled funktion of point 1.) i could think about an other solution for your problem.
reply »
Alphawolf
05.07.2009 | 21:36Hey Heiko, I’ll keep the language for as this is your blog’s english section.
How about participating in the “WordPress Plugin Competition 2009 with your plugin in order to show german developer presence: http://weblogtoolscollection.com/pluginblog/ I’ve already submitted one.
reply »
codestyling
05.07.2009 | 21:45Hi Oliver, i have already done the registration but still not a author, just guest.
I also think about this one plugin and my longer running “Codestyling Localization” that now supports extended features and has been refreshed yesterday to 1.90 at repository.
I’m not sure but as i saw plugins older than CSL are attached, there seems to be also a good idea to place CSL instead.
reply »
Alphawolf
05.07.2009 | 22:16Well, unfortunately you cannot submit plugins that were already published before the start of the competition, which was the 1st of June 09.
reply »
Nathan
13.07.2009 | 21:03Plugin is not compatible with PHP 5.3
Warning: Cannot modify header information - headers already sent by (output started at /var/www/nathanr-ca/htdocs/wp-content/plugins/wp-system-health/wp-system-health.php:57) in /var/www/nathanr-ca/htdocs/wp-content/plugins/bad-behavior/bad-behavior/screener.inc.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at /var/www/nathanr-ca/htdocs/wp-content/plugins/wp-system-health/wp-system-health.php:57) in /var/www/nathanr-ca/htdocs/wp-content/plugins/owa/owa_coreAPI.php on line 1070
Warning: Cannot modify header information - headers already sent by (output started at /var/www/nathanr-ca/htdocs/wp-content/plugins/wp-system-health/wp-system-health.php:57) in /var/www/nathanr-ca/htdocs/wp-content/plugins/owa/owa_coreAPI.php on line 1072
Warning: Cannot modify header information - headers already sent by (output started at /var/www/nathanr-ca/htdocs/wp-content/plugins/wp-system-health/wp-system-health.php:57) in /var/www/nathanr-ca/htdocs/wp-content/plugins/owa/owa_coreAPI.php on line 1070
Warning: Cannot modify header information - headers already sent by (output started at /var/www/nathanr-ca/htdocs/wp-content/plugins/wp-system-health/wp-system-health.php:57) in /var/www/nathanr-ca/htdocs/wp-content/plugins/owa/owa_coreAPI.php on line 1072
reply »
codestyling
13.07.2009 | 21:11Ok, thanks for reply. I will check this and update the version if required.
reply »
Steve
14.07.2009 | 01:58On activevation I get: Fatal error: Call to a member function pass_checkpoint_system_health() on a non-object in /home/waves8/public_html/wp-content/plugins/wp-system-health/wp-system-health.php on line 64
Any thoughts?
reply »
codestyling
14.07.2009 | 02:082nd Patch is on the way, i accidentally tagged an immediate version. The clean version will become 1.1.5 now.
Sorry for this accident.
reply »
Steve
14.07.2009 | 02:47Thanks for the update works great. Where can I donate?
reply »
codestyling
16.07.2009 | 01:14The donation button has been applied in in front of this comment section
reply »
Robert Nelson
14.07.2009 | 02:14Hi
I got the following error today when I tried to upgrade your plug in
Fatal error: Call to a member function pass_checkpoint_system_health() on a non-object in /home/nar321/public_html/wp-content/plugins/wp-system-health/wp-system-health.php on line 64
reply »
codestyling
14.07.2009 | 02:20As written above, is in progress, will be online as soon as possible.
reply »
lordfiSh
14.07.2009 | 04:58In Opera 10 the Button “Details »” didnt work
reply »
lordfiSh
14.07.2009 | 05:24sry u cant remove my last comment, it works
reply »
Samuel
15.07.2009 | 16:15Hi!
I like very much this plugin
(and the rest of your plugins too).
But I’m missing one info that it’s very useful for me, the cpu load.
I have WP-Serverinfo installed only for this reason. It would be very great if you add this feature to WP System Health.
reply »
codestyling
15.07.2009 | 16:25Thanks for this suggestion, this will be part of this plugin as soon as possible. Only have to check, what work arrounds may be needed to get similar information also on Windows hosted solutions or fallbacks, if provider did disable this function.
reply »
tom
30.07.2009 | 11:42Great plugin. But there´s a minor problem with the “detail” buttons (e.g. for me) , they stopped showing the detailed dropdown informations after updating wp to vers 2.8.2. Neither firefox, IE nor chrome are showing the required informations. Any suggestions?. btw there´s no difference in deactivating every obsolete plugins.
reply »
codestyling
30.07.2009 | 11:58You are using jQuery from Google API and not WordPress shipped version. I think, it depends on how this works at the backend, because expand/collapse actions depend on proper working jQuery. Could you explain, how you replaced the original shipped jQuery by Google API ones ?
This would help to find out, why it may not work as expected, i assume, that the order of loading or the state of contained fixes is not matching the normal WordPress behavoir.
reply »
tom
30.07.2009 | 13:28Many thanks for the fast reply! And with your suggestion you are totally right, your plugin is working. I replaced the JQuery in order to reduce the page script loading time (nice try). Therefore I used a repository plugin called “Use Google Libraries”. For the second part, to describe my coding skills - below average … .Lets try to sort this thing out, as far as I understand this. Both WP and Google are using the same Library (jQuery JavaScript Library v1.3.2). Both are loading in front, e.g. the same order, checked with firebug. The apparently difference is that google loads different parts (from the original wp appearance), they appeared in following order “http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js”, slightly delayed and followed by “…//wp-includes/js/jquery/jquery.color.js?ver=2.0-4561m” (looks like the original) and “http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js”. Hope this is somewhat a help.
reply »
codestyling
30.07.2009 | 13:34I will check this next week, because i’m on vacation a few days. Only for the purpose, why this happens. It may be interesting in terms of support for other issues and potentially a workarround or fix could be published either to the Google Scripts plugin or to my plugins.
reply »
Marcel
13.09.2009 | 17:20A very useful addition would be to see the memory usage per plugin. In this way it is easier to disable plugins that use a lot of memory if there is not much memory available anymore.
reply »
Stewart
24.11.2009 | 18:35Thanks for the great plugin. I added one little function: System Date/Time.
Thanks again!
reply »
Hikari
02.01.2010 | 16:16Hello, great plugin!! I’ve just installed it and am testing it ATM.
Regarding boot loader, I’d like to add 2 suggestions:
1) Instead of using ABSPATH, use WP_CONTENT_DIR, because wp-content may be outside Wordpress installation folder. It would be:
2) As you said, if plugin is removed this “require”_once may break Wordpress. So, how about checking if it exists before requiring it?
reply »
Thomas Scholz
14.01.2010 | 13:24If the installation failed with the message »open basedir restriction« replace in line 58 …
require_once(’boot-loader.php’);
… with …
require_once(dirname(__FILE__) . ‘/boot-loader.php’);
reply »
helices
24.07.2010 | 17:44WP System Health
How can I find HOW to interpret the graphs in this plugin/widget?
How do I know when something is BAD?
Best Regards,
Mike
reply »
nosurprise
28.11.2010 | 23:14I’m wondering the same thing. As a WP user who knows little about ‘under the hood” things, how do I know what is good and what is bad? For example, under the database tab, I see that my revision (type) is at 88% and is colored red… I assume that is a bad thing? Is it better if the bars are lower? Some info on this would be really helpful, or perhaps this plugin is only useful for more advanced users?
reply »
codestyling
29.11.2010 | 11:21If you have more revisions than posts/articles, the database spends an lot of time to filter out relevant real content. Furthermore the database grows and grows and may reach faster the limitation (if there is one).
Conclusion: The more revisions are contained at DB the more time WP may take to produce your result pages. Also the speed of showing the editing screens and response times for editing articles will go down while revisions grows.
I have installed a plugin, that limits my revisions to 2 and if an article is not longer subject of change, if remove all revisions from.
reply »
Hikari
05.12.2010 | 19:43I believe you are asking too much from the plugin/author.
The plugin gathers useful information from a lot of places and put it all together in a way that’s easy to see. If somebody doesn’t understand one information, well at least the info is there, it would be much worse if it wasn’t.
Now it’s a matter of search Internet for info about that, ask in forums and communities, try to learn more about it and how to deal with it. Ask the author of a free plugin to teach you… at least pay him for the teaching :p
reply »
mike
01.08.2010 | 20:00Will WP System Health plugin soon upgrade to be compatible with the Wordpress 3.x…?
regards
mike
reply »
Voyagerfan5761
27.10.2010 | 06:36I successfully added the boot-loader line at the top of my wp-config.php file without using ABSPATH. (Mileage will vary, of course.)
What’s interesting is that I used @include_once instead of require_once and it worked just fine. The @ will suppress errors if something is messed up, and using include instead of require will prevent a fatal error if I delete the plugin (now why would I do that?
).
In short, I think using the include_once function with the @ error-suppression operator is better for amnesia-proofing (
) installations of the boot-loader module.
Great plugin!
reply »
codestyling
27.10.2010 | 11:49Thanks for outlining this. I will check this in near future and change the article so far. The ABSPATH is for open basedir restricted server installations, that are unable to locate the file relatively. Skipping this may work at your installation but not at all. And suppressing the error won’t show, that basedir restriction is the reason for not proper working.
reply »
Mark Griffin
13.11.2010 | 22:12Hi, downloaded V1.3.2 from WP site and ran auto-install, got this error when I tried to activate it:
Fatal error: Call to undefined function: clone() in /export/home/dixie/csites/webs/www.capitalbarter1992.co.uk/htdocs/wp-content/plugins/wp-system-health/wp-system-health.php on line 78
Any suggestions appreciated!
reply »
codestyling
15.11.2010 | 11:21What version of PHP you are running at the Server? Normally this may happen at PHP 4.x versions (not all) but not at PHP 5.x versions. I’m not sure, why it doesn’t work at your system, I need more information to investigate this problem.
reply »
Florian
05.02.2011 | 13:36hey,
at first…sorry for my very bad english :!
You must put this:
AddType application/x-httpd-php5 .php5
in you .htaccess if you have php5 installed.
This works by me
reply »
chris
24.03.2011 | 23:19just a small question on the Load Average. Is that CPU load in % ?
reply »
AnD
05.04.2011 | 20:44Hi! It’s amazing tool, thank you!
Just one option miss for complete happiness:) it’s a logfile of load CPU, usage of memory, quantity of php-processes, quantity of connections (number of threads that gives the site at moment).
This will allow the administrator of website to see statistics how much website consumed of hosting resources, under real load on site (peak and average per day). And he can make better optimized website or make a decision to switch to another hosting tariff.
Load Average last 1,5,15 minute it’s good, but you can’t see to it for hours (for catching a peak’s).
Can you do logfile option for your greats plugin? Please
Or can you suggest anyone other plugin for monitoring consumed resources?
reply »
Torsten
08.06.2011 | 12:19I got the same error. PHP 4.4.9 on a Strato Managed Server. Do you need more information?
reply »
codestyling
09.06.2011 | 17:32This should not happend because the code checks the PHP version to avoid clone call. But as far as I have found, the comparison contains an unnecessary whitespace, may be PHP 4 can’t cope with that.
An update is scheduled for this plugin, should be solved too afterwards.
reply »
Torsten
10.06.2011 | 13:59Yes, it is just the unnecessary whitespace! After removing it, the plugin could be activated without any problems. Thank you very much!
reply »
funwidmasti
09.06.2011 | 22:08This plugin is gr8..!!!
thnx for the share
reply »
Mike
04.08.2011 | 19:06Hi, aI have a small problem with the plugin. I do not see those nice graphs (bars) with percents, my graphs are emtpy in Firefox. In MS Explorer ots better, there are blue parts and part of the number is visible, part invisible. There are now round corners. Probably a CSS problem with new WP version?
reply »
Der_Serverhelfer
11.08.2011 | 18:20I hope this plugin helps me solving my update issue in Wordpress.
reply »
invader21890
01.09.2011 | 18:39My Wordpress installation has 39,39MB in use. WP System Health uses 18MB of memory is this normal? Are these 18MB usable is I deactivate WP System Health?
PHP Runtime Boot
(boot:wp-config) 0.55 % 360.14 kB |
System Health Boot
(boot:plugin) 28.67 % 18.35 MB |
Plugins Active
(hook:plugins_loaded) 51.36 % 32.87 MB |
Theme / Widgets
(hook:setup_theme) 51.40 % 32.90 MB
Localization File
(hook:gettext) 0.00 % -n.a.- |
Init WordPress
(hook:init) 53.95 % 34.53 MB |
Init Admin Center
(hook:admin_init) 61.23 % 39.19 MB |
Rendering Dashboard
(callback:dashboard) 61.54 % 39.39 MB |
reply »
Tiberius14
17.02.2012 | 13:14Thank you. Inspired from your work I create my first plugin:
http://www.tautologicalcode.net/wordpress-plugin-wp-really-simple-health/ released also at WordPress here : http://wordpress.org/extend/plugins/wp-really-simple-health-10/
thanks again and ciao from Italy
Tiberius14
reply »
Jon
23.02.2012 | 16:17I’m not getting the colors in the bars, I get the text in white, but not the green red and so on.
Latest version of WP and your plugin.
Latest Fire Fox browser
On Mac
reply »
Chris
19.03.2012 | 18:04This would be even more awesome for us if it supported network admin and multisite better. Great work, regardless.
reply »
Burak Birer
09.05.2012 | 17:47Hi, we are really having hard times about getting over 297 MB ram with the test suite.
We have a dedicated server which has 16 GB ram and the php memory_limit master value is 8192 MB . Local Value is also 8192 MB. But the tests say that we cannot go over 297 MB. Your help is really needed. Thanks
You can see here http://aliyyulala.com/info.php
reply »
codestyling
10.05.2012 | 09:50You are using a server based on “LiteSpeed” so i hav no idea how PHP will be executed there. May be problem inside the memory allocation of your PHP version because the str_pad used to build the memory will be executed inside C code of PHP itself. Or you have something monitoring your server additionally and kills the memory consumption as it will be detected as a wild script (unix watch dog?)
reply »
Burak Birer
10.05.2012 | 14:22Thank you for your kind answer, I just send your reply to host company now i wait info from them. I will share what they said.
Meanwhile do you think it is just about test suite, do you think that our buddypress based system can use the whole memory when we go public with 20k users? I mean in this case the ram will be used by many other requests coming from user process. Should i concern about ram allocation ?
Btw, the site will be made of
Wp + Bp + Salutation Theme with cubepoints and marketpress plugins.
reply »