使用 shell 命令时无法访问 Magento 1 缓存文件夹
Magento 1 Cache folder is not accessible when using shell command
我在使用 shell 命令清除特定产品缓存时遇到问题,因为缓存文件夹中的权限严格限于 www-data。例如,文件夹 /var/cache/mage--a
个文件是这样的:
-rw------- 1 www-data www-data 7646 Mar 4 11:20 mage---c54_PRODUCT_CACHE_123
-rw------- 1 www-data www-data 184 Mar 4 11:20 mage---internal-metadatas---c54_PRODUCT_CACHE_123
所以当shell命令运行时,它会调用Mage::app()->cleanCache('PRODUCT_CACHE_123')
,这会触发到lib/Zend/Cache/Backend/File.php
中定义的_fileGetContents
函数,并且它无法打开元文件/var/cache/mage--a
由于上面列出的权限。
有人对此有建议的修复方法吗?
我最终改用 Redis 作为缓存。这有助于解决问题,因为我不再需要为缓存文件夹设置文件权限。
我在使用 shell 命令清除特定产品缓存时遇到问题,因为缓存文件夹中的权限严格限于 www-data。例如,文件夹 /var/cache/mage--a
个文件是这样的:
-rw------- 1 www-data www-data 7646 Mar 4 11:20 mage---c54_PRODUCT_CACHE_123
-rw------- 1 www-data www-data 184 Mar 4 11:20 mage---internal-metadatas---c54_PRODUCT_CACHE_123
所以当shell命令运行时,它会调用Mage::app()->cleanCache('PRODUCT_CACHE_123')
,这会触发到lib/Zend/Cache/Backend/File.php
中定义的_fileGetContents
函数,并且它无法打开元文件/var/cache/mage--a
由于上面列出的权限。
有人对此有建议的修复方法吗?
我最终改用 Redis 作为缓存。这有助于解决问题,因为我不再需要为缓存文件夹设置文件权限。