我无法在本地重现这一点,这让我很困惑。作为部署到多个服务器的一部分,我们经常会收到此错误:
include_once(): Failed opening '/path/to/symfony/app/cache/prefix__pro_/twig/6e/af294156cb5dce4b373f578f4ef1c3e2d1d738daf1dbdf18476b1716a7f.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear')
当我们在symfony中运行app/console cache:clear
命令时会发生这种情况。
环境为prod
,我了解到树枝首先会创建一个临时缓存文件夹(例如,对于dev
,它将是cache/__de/twig
,对于prod
,它是cache/__pro/twig
在将其重命名为真实环境之前。我也很困惑为什么会有任何东西试图访问临时缓存。
This问题似乎有关,但已被解决为缓存路径中的反斜杠问题(我们没有)。
https://www.drupal.org/node/2429659似乎也有同样的问题,但我不认为我们的问题是由于我们的网站在缓存清除期间被访问(在部署期间它会在单独准备的代码库上预热缓存) - 不是真正的生产代码)。它还链接到一个PHP错误,其中两个尝试创建目录的线程将失败,但我认为这里不涉及多个线程。