I have successfully installed and configured Icinga 1.3 and got the basic web interface up and running and all is good.

I'm now trying to get icinga-web to work. I've followed the instructions documented here:


When I browse to the icinga-web app I am able to logon but get a blank page. When I do a view-source I see all the HTML and markup for the page and also the following error in Chrome's developer tools:

GET http://nagios.node/icinga-web/appkit/squishloader/javascript 500 (Internal Server Error)

Upon checking /usr/local/icinga-web/app/data/log/icinga-web-2011-03-16.log I am seeing this identical error for every request I make of the page:

[Wed Mar 16 01:29:08 2011] [fatal] Uncaught AppKitPHPError: PHP Error
mkdir() [function.mkdir]: File exists

As per the install docs I tried clearing the cache with:

rm /usr/local/icinga-web/app/cache/config/*.php

And then restarting apache but I can't seem to get past this.

I built icinga-web today from the git repo at:


I also tried building from the 1.3.0 tar ball as well but still get the same problem.

Has anyone encountered this issue before?


This is installed on:

  • What operating system are you using? Did you install the IDOUtils? – Kenny Rasschaert Mar 16 '11 at 9:34
  • @kenny.r - sorry, copy and paste fail, I've added an update to the question. IDOUtils is installed. – Kev Mar 16 '11 at 10:13
  • @kenny - problem solved. See my answer. I think it's one of those PHP oddities. – Kev Mar 17 '11 at 18:33

I poked about with this and the problem seems to be within the Agavi components, specifically:


And within the writeCache() method:

@mkdir(AgaviConfig::get('core.cache_dir') . DIRECTORY_SEPARATOR . 
        self::CACHE_SUBDIR .
        array_slice($groups, 0, -1)), 0777, true);

I dropped a logger line into this code and saw that mkdir is trying to recursively create a directory such as:


I deleted this, restarted apache but the problem persisted.

At this point the server was running PHP 5.2.17.

I upgraded PHP to 5.3.5 and this issue magically resolved itself.

Out of interest I knocked PHP back to 5.2.17 to see if there were any differences between the mkdir() function behavior in that version compared to the one in 5.3.5. A test script showed that all that PHP did was warn that the folder existed in both versions, there was no hard error thrown.

Also, and bizarrely, icinga-web started working with PHP 5.2.17....and I have no idea why. I checked both version's php.ini files thinking that the error_reporting settings may have changed, but they were the same (except that PHP 5.3.5 is set to E_ALL & ~E_NOTICE | E_DEPRECATED whereas 5.2.17 is set to E_ALL & ~E_NOTICE).

Hope this is of use to anyone else encountering the same issue.

| improve this answer | |

I had the same issue. Took me a time to find the solution. The "AppKitPHPError" is pretty misleading; the real cause is much more simple an easy to resolve.

It is simply missing credentials. Edit the following two configs an fill in your correct DB-logon

  • /whereveryouricingarootis/icinga-web/app/modules/Web/config/icinga-io.xml
  • /whereveryouricingarootis/icinga-web/app/modules/Web/config/icinga-io.site.xml

After this you're done and the error will disappear

Have fun !!


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.