Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Installing SilverStripe

Getting SilverStripe up and running on your computer and on your web server.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Uncaught Zend_Cache_Exception: cache_dir must be a directory


Reply

33 Posts   23206 Views

Avatar
quiet_islander

3 June 2010 at 10:44pm Community Member, 17 Posts

I get the same error whenever I try to log in to the CMS. There are no problems when I am on the front end.
In my case, the line 90 originally read 'cache_dir' => null. If I change it to another directory( for example "../silverstripe-cache/") which does exist on the server, I can open the CMS in my current browser successfully. However, as long as I close the browser and open the site again or simply open the site in another browser, I get stuck at CMS loading page. I have firebugs installed so I checked the errors. There are 13 of them and they are mostly about missing important javascript files. Any ideas? I have getting insane about the problem for 3 days already!

Avatar
turtleline

4 June 2010 at 2:03pm Community Member, 6 Posts

I have just experienced this "Uncaught Zend_Cache_Exception: cache_dir must be a directory" error on a site we upgraded to 2.4.0 a while back. Has been a while since we tried to log into admin.

After a bit of going around in circles was lead to the solution which has worked for me adding a line to /sapphire/_config.php outlined here:
http://open.silverstripe.org/changeset/105468

Avatar
quiet_islander

4 June 2010 at 10:11pm Community Member, 17 Posts

@turtleline: Thanks but I still get stuck and receive javascript errors when trying to log in.

However, I have found something interesting. I can make the log in work by adding "?isDev=1" at end of the url. Without that I will get stuck at the CMS log in page. Anyone got an idea?

Avatar
LinseyM

5 June 2010 at 4:07am Community Member, 99 Posts

I got this error today on a clean install of 2.4.0 in a linux box.

I could view site pages but trying to access "/admin" threw the error up.

I fixed it by following one of the prevoius support ticket links and adding a line of code to "_config.php":

// Zend_Cache temp directory setting
$_ENV['TMPDIR'] = TEMP_FOLDER;

No idea exactly what it does, but it worked for me so thought I'd just pass it on!

Linsey

Avatar
atticusservices

11 June 2010 at 6:42am Community Member, 10 Posts

@quiet_islander

Regarding the problem of the cms not loading without isDev ... This sounds like the same problem I was having. It had to do with the javascript combine_files feature of silverstripe. If you open your browser's error console you should see a bunch of javascript errors.

My fix (while not so elegant) did worked, however someone else made a recommendation for a better solution but I have not tried it yet.

http://silverstripe.org/general-questions/show/286086

Avatar
atticusservices

11 June 2010 at 6:51am (Last edited: 11 June 2010 6:52am), Community Member, 10 Posts

@turtleline & @LinseyM

Thanks. This sounds like a much better solution than the one I previously suggested as it doesn't involved editing the thirdparty extension.

Avatar
yurigoul

3 July 2010 at 1:58am Community Member, 202 Posts

Well, comments like the above comment is THE reason we need a report button ...

Avatar
tazzydemon

19 August 2010 at 12:48pm Community Member, 122 Posts

I am guessing this happens on Linux installs.

Its a permissions issue. On my centos/virtualmin server when running apache in mod_php mode the files created by the application are owned by one user whereas the server is of course apache. I compounded the issue by being forced to change halfway from mod_fcigd to mod_php because the installer did not see mod_rewrite working in mod_fcgid (it was and now I have changed back and thats another issue)

Just go to /tmp and then chmod -R g+w silverstripe-cache-whatever-your-path-is

Failing that then open up the permissions on /tmp

You might then want to reinstall the app if thats where it failed.

Julian