apc“open()/www/cache/xxx 失败。没有此文件或目录”错误

apc“open()/www/cache/xxx 失败。没有此文件或目录”错误

我认为这是因为 APC,因为我只使用 APC 系统进行缓存。以下是完整日志:

 2013/04/23 19:15:05 [error] 539#0: *1305213 open() "/var/www/cache/e4ce8db565491cdcf27ab61a441xxxx" failed (2: No such file or directory), client: 2.83.130.yyy, server: zzz.com, request: "GET /cache/e4ce8db565491cdcf27ab61a441xxxx HTTP/1.1", host: "zzz.com", referrer: "http://zzz.com/aPHPfile"

配置:nginx,php5-fpm

答案1

此消息来自 nginx — 显然它决定通过返回静态文件来满足请求,但该文件不存在。有问题的缓存位于 PHP 应用程序级别,因为请求 URL 路径以 开头/cache/— 它不是 nginx 或 APC 中的某种内部缓存。

可能的原因:

  1. 也许请求应该传递给 PHP 脚本,但 nginx 中的位置/重写规则对于您的 PHP 框架/CMS 来说不正确。

  2. 也许有问题的缓存文件应该由 PHP 代码在处理上一个请求时创建(例如,引用者中模糊的 URL),但由于目录的权限等原因而无法创建/var/www/cache。在这种情况下,您应该在 php-fpm 日志中看到一些错误(如果 PHP 代码没有盲目忽略它们)。

无法给出更精确的答案,因为没有关于所使用的 PHP 框架、CMS 或应用程序的信息。

答案2

错误消息显示No such file or directory。而您说该目录不存在。因此,请创建该目录。

相关内容