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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Installing SilverStripe /

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

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

Uncaught Zend_Cache_Exception: cache_dir must be a directory


Go to End


33 Posts   37595 Views

Avatar
J2-Paul

Community Member, 51 Posts

25 May 2010 at 9:09pm

@Atticus. Yes I do have permissions. Perhaps a fix for file.php is necessary?

Avatar
J2-Paul

Community Member, 51 Posts

25 May 2010 at 9:43pm

@youigoul. Good to hear. Any idea when 2.4.1 will be released?

Avatar
yurigoul

Community Member, 203 Posts

25 May 2010 at 10:13pm

no. But perhaps the fix can already be used or download the trunk

Avatar
atticusservices

Community Member, 10 Posts

26 May 2010 at 5:07am

@j2 you could try changing the argument sent to setCacheDir() in file.php ... but that variable is currently being set by the construtor which is being set ultimately by getTmpDir() so it should be the same.

Avatar
dvdsetshop

Community Member, 8 Posts

26 May 2010 at 9:41pm

Google Summer of Code Hacker
47 posts Reply
Re: Uncaught Zend_Cache_Exception: cache_dir must be a directory
2 April 2010 at 4:31am

I ended up setting the cache_dir explicitly in /sapphire/thirdparty/Zend/Cache/Backend/File.php:90 to my silverstripe-cache directory.

-----------------------------------------------------------------------------------------------------------------------
www.dvdsetshop.com

Avatar
J2-Paul

Community Member, 51 Posts

27 May 2010 at 5:48am

Edited: 27/05/2010 5:49am

@devsetshop. This one did the trick! Many thanks to you and to all other that suggested solutions.

Avatar
ramshackle

Community Member, 22 Posts

27 May 2010 at 3:32pm

Hi Xerra,

I'm having exactly the same problem, but still learning php - can you explain how to set the cache_dir explicitly in file.php ? Cant find anywhere else..

Cheers

Avatar
J2-Paul

Community Member, 51 Posts

27 May 2010 at 8:27pm

Edited: 27/05/2010 8:29pm

Open file /sapphire/thirdparty/Zend/Cache/Backend/File.php

Go to line 90. It will read 'cache_dir' => '/temp/',

If you have a windows environment change to something like

'cache_dir' => 'C:\temp\cache',

If you have a linux environment change to something like

'cache_dir' => '/xxx/xxx/xxxx',

You must have write access privileges to the directory you set.

I have a windows environment so I verify the solution works. For linux I can not. However, in theory, this should work. Any linux user out there correct me if I am wrong.

Hope this helps.