I am just learning Zend Framework. I created a simple Zend_Form and when I submitted the form I got following error:
An error occurred
Application error
Exception information:
Message: Could not determine temp directory, please specify a cache_dir manually
Stack trace:
- 0 H:\Documents\IIS_Server_Root\zendframework\Zend\Cache\Backend.php(197): Zend_Cache::throwException('Could not deter...')
- 1 H:\Documents\IIS_Server_Root\zendframework\Zend\Cache\Backend\File.php(123): Zend_Cache_Backend->getTmpDir()
- 2 H:\Documents\IIS_Server_Root\zendframework\Zend\Cache.php(153): Zend_Cache_Backend_File->__construct(Array)
- 3 H:\Documents\IIS_Server_Root\zendframework\Zend\Cache.php(94): Zend_Cache::_makeBackend('File', Array, false, false)
- 4 H:\Documents\IIS_Server_Root\zendframework\Zend\Locale\Data.php(314): Zend_Cache::factory('Core', 'File', Array, Array)
- 5 H:\Documents\IIS_Server_Root\zendframework\Zend\Locale\Format.php(808): Zend_Locale_Data::getList('en_US', 'day')
- 6 H:\Documents\IIS_Server_Root\zendframework\Zend\Locale\Format.php(1118): Zend_Locale_Format::_parseDate('12/12/2010', Array)
- 7 H:\Documents\IIS_Server_Root\zendframework\Zend\Date.php(4765): Zend_Locale_Format::getDate('12/12/2010', Array)
- 8 H:\Documents\IIS_Server_Root\zendframework\Zend\Validate\Date.php(175): Zend_Date::isDate('12/12/2010', 'MM-DD-YYYY', NULL)
- 9 H:\Documents\IIS_Server_Root\zendframework\Zend\Form\Element.php(1395): Zend_Validate_Date->isValid('12/12/2010', Array)
- 10 H:\Documents\IIS_Server_Root\zendframework\Zend\Form.php(2252): Zend_Form_Element->isValid('12/12/2010', Array)
- 11 H:\Documents\IIS_Server_Root\localhost\zfprojects\zf_cms\application\controllers\BugController.php(30): Zend_Form->isValid(Array)
- 12 H:\Documents\IIS_Server_Root\zendframework\Zend\Controller\Action.php(513): BugController->submitAction()
- 13 H:\Documents\IIS_Server_Root\zendframework\Zend\Controller\Dispatcher\Standard.php(295): Zend_Controller_Action->dispatch('submitAction')
- 14 H:\Documents\IIS_Server_Root\zendframework\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
- 15 H:\Documents\IIS_Server_Root\zendframework\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch()
- 16 H:\Documents\IIS_Server_Root\zendframework\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
- 17 H:\Documents\IIS_Server_Root\localhost\zfprojects\zf_cms\public\index.php(26): Zend_Application->run()
- 18 {main}
Request Parameters:
array (
'controller' => 'bug',
'action' => 'submit',
'module' => 'default',
'author' => '7676',
'email' => 'ankur_gupta555@yahoo.com',
'date' => '12/12/2010',
'url' => 'http://blogs.antarjaal.in/takneek/?p=1354',
'description' => 'tytytyty t',
'priority' => 'low',
'status' => 'new',
'submit' => 'Submit',
)
System config:
- Windows 7
- IIS 7.5
- PHP 5.3
- Zend Framework 1.11.4
you can put in .htaccess
I have created "tmp" folder in the main directory it worked for me
I think this solve the problem , it solved it for me
add it after setting your cache in the bootstrap.php
Turn off/disable cache :) Why do you use it for simple app, when learning? There are more important things to learn ;)
Something like this should be helpful:
When looking at the Zend/Cache/Backend.php code, there are some alternatives to allow correct guessing of the cache_dir:
At least that's how I read the code: