即使 PdfBundle 供应商建议使用 umask()
,如果已创建 PDF,则在尝试清除(共享主机)生产环境中的缓存时,也会发生以下情况。 如果尚未创建 PDF,则不会发生错误:
[意外值异常]
FilesystemIterator::__construct(/home/projectmana/www2.projectmana.org/app/ cache/prod_old/zfcache-bd):无法打开目录:权限被拒绝
目录列表为:
drwx------ 2 www-data www-data 4096 Nov 9 17:15 zfcache-05
drwx------ 2 www-data www-data 4096 Nov 9 17:15 zfcache-18
drwx------ 2 www-data www-data 4096 Nov 9 17:15 zfcache-31
drwx------ 2 www-data www-data 4096 Nov 9 17:15 zfcache-bd
共享主机环境中是否有消除此错误的方法?
在这种情况下,唯一可行的替代方法是在控制器中添加清除生产缓存的功能。这个SO帖子是最容易实现的。请注意,在共享主机环境中,系统管理员需要清除 prod* 目录,然后控制器操作才能生效。
您是否考虑过使用另一种缓存方法(如 apc)而不是文件?
ps_pdf:
cache:
type: apc
https://github.com/psliwa/PdfBundle#configuration