Php Zend缓存异常:“Cache_dir”/home/(…)/application/。/data/tmp/”不可写

Php Zend缓存异常:“Cache_dir”/home/(…)/application/。/data/tmp/”不可写,php,zend-framework,Php,Zend Framework,我对Zend真的很陌生,使用了几天 我收到一条致命错误消息: Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir "/home/[REDACTED]/application/../data/tmp/" is not writable' in /home/[REDACTED]/library/Zend/Cache.php:209 Stack trace: #0 /home/[REDACTED

我对Zend真的很陌生,使用了几天

我收到一条致命错误消息:

Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'cache_dir "/home/[REDACTED]/application/../data/tmp/" is not writable' in /home/[REDACTED]/library/Zend/Cache.php:209 Stack trace: #0 /home/[REDACTED]/library/Zend/Cache/Backend/File.php(181): Zend_Cache::throwException('cache_dir "/hom...') #1 /home/[REDACTED]/library/Zend/Cache/Backend/File.php(129): Zend_Cache_Backend_File->setCacheDir('/home/user/Proj...') #2 /home/[REDACTED]/library/Zend/Cache.php(153): Zend_Cache_Backend_File->__construct(Array) #3 /home/[REDACTED]/library/Zend/Cache.php(94): Zend_Cache::_makeBackend('File', Array, false, false) #4 /home/[REDACTED]/application/Bootstrap.php(42): Zend_Cache::factory('Core', 'File', Array, Array) #5 /home/[REDACTED]/library/Zend/Application/Bootstrap/BootstrapAbstract.php(669): Bootstrap->_initCache() #6 /home/[REDACTED]/library/Zend/Applica in /home/[REDACTED]/library/Zend/Cache.php on line 209 解决方法是在application/Bootstrap.php上注释以下行:

这个变通方法是由一位同事建议的,我不知道我在这里做什么,甚至不知道这段代码是Zend还是我们的代码库的一部分。我不喜欢丑陋的黑客,或者通过注释代码来修复东西,或者在不知道我在做什么或背后的原因的情况下做任何事情

此外,代码似乎在我同事的机器上工作。每次我从存储库中提取他们的代码提交时,我都会得到一个未注释的副本

我可能会将该文件从存储库中排除,或者类似的内容。我也是git新手,但我确实更喜欢:

知道错误的原因 了解解决方案
当我写这个问题时,我注意到了我的错误,tmp目录是我自己和同一组的其他用户都可以写的,显然Zend会以另一个用户的身份访问这些文件。解决方案是在文件夹上安装chmod777,使其可写

在我写这个问题时,我注意到了我的错误,tmp目录可以由我自己和同一组的其他用户写入,显然Zend将以另一个用户的身份访问这些文件。解决方案是在文件夹上安装chmod777,使其可写

此错误通常是由于权限而发生的

要解决这个问题,如果您使用apache作为web服务器,请将所有权分配给apache

在我的Fedora Core机器上,我通过简单地发布:

chown my_current_name:apache -R /var/www/project_name 

此错误通常是由于权限而发生的

要解决这个问题,如果您使用apache作为web服务器,请将所有权分配给apache

在我的Fedora Core机器上,我通过简单地发布:

chown my_current_name:apache -R /var/www/project_name 

同样的问题,通过简单的步骤解决。 lib>Zend>Cache>Backend>File.php 找到这条线

protected $_options = array(
'cache_dir' => 'null',
删除报价并将其保留为

protected $_options = array(
'cache_dir' => null, 

这对我来说真的很有效。

也有同样的问题,通过简单的步骤解决了它。 lib>Zend>Cache>Backend>File.php 找到这条线

protected $_options = array(
'cache_dir' => 'null',
删除报价并将其保留为

protected $_options = array(
'cache_dir' => null, 

这对我来说真的很有效。

错误消息清楚地表明某些目录或文件不可写,这通常指向权限问题。@SalmanA是的,这是正确的,确实如此。仅供参考,通过注释掉上一个代码示例中的方法,您禁用了应用程序中缓存对象的初始化,这就是引发权限错误的原因。这很可能会导致应用程序中的其他地方出现问题,当它试图使用现在不存在的缓存资源时会出错。@谢谢您花时间解释这一点,正如我所说,我对Zend真的很陌生,也没有太多关于如何工作的线索。老实说,有人刚刚在我的机器上安装了Zend和NetBeans,并在这里说,使用它。错误消息清楚地表明某些目录或文件不可写,这通常指向权限问题。@SalmanA是的,这是正确的,事实确实如此。仅供参考,通过注释掉上一个代码示例中的方法,您禁用了应用程序中缓存对象的初始化,这就是引发权限错误的原因。这很可能会导致应用程序中的其他地方出现问题,当它试图使用现在不存在的缓存资源时会出错。@谢谢您花时间解释这一点,正如我所说,我对Zend真的很陌生,也不知道事情是如何运作的。老实说,有人刚刚在我的机器上安装了Zend和NetBeans,并在这里说,使用它。或者可能是apache以apache用户的身份访问文件?或者可能是apache以apache用户的身份访问文件?这是解决这个问题的最合适的方法,适用于linux用户。我的Fedora20已经完成了,谢谢。对于linux用户来说,这是解决这个问题最合适的方法。帮我做了软呢帽20,谢谢。