带有mmap缓存错误的Apache错误日志

时间:2013-11-06 13:57:55

标签: php windows apache mmap

我发现很多像这样的错误

[Wed Nov 06 14:34:01 2013] [warn-phpd] mmap cache can't open C:\www\somefile.php (pid 4484 th 1668)

在我的Apache error.log文件中。我试图找出错误的来源一段时间,但到目前为止没有运气。

  • 我发现PHP Opcache不是罪魁祸首。
  • error_log没有帮助。我认为我的PHP源代码不会影响错误。

我的堆栈: Apache 2.4.6,Windows,PHP 5.4.20

有没有人遇到同样的错误?

注意:我收到的错误消息与例如the error相同:

Mon Dec 1 21:08:20 2008] [warn-phpd] mmap cache can't open /var/www/vhosts/domain.com/httpdocs/file.php - Permission denied (pid 7831)

mmap无法打开文件的原因。

3 个答案:

答案 0 :(得分:0)

这是由服务器打开的文件总数引起的。如果这是在托管公司,那么他们将能够为您解决此问题,如果您在自己的系统上,请尝试以下步骤:

  1. 编辑apache启动脚本,\ Program Files \ Apache Software Foundation \ Apache2.2 \ etc \ init.d \ httpd(可能在您的系统上有所不同)并在其他任何内容之前添加:
  2. ulimit -n 20480#将ulimit提高到更高的值然后你
  3. 然后使用httpd.exe restart
  4. 重启apache

    希望这能指明你的方向

答案 1 :(得分:0)

禁用MMAP。 Windows不支持。

这是一种将文件映射到内存以处理其内容的有效方法。 sendfile的故事与此类似,这是一种发送文件内容作为响应的有效方法。

# https://httpd.apache.org/docs/2.4/en/mod/core.html#enablemmap
EnableMMAP On
EnableSendfile Off

答案 2 :(得分:-1)

  

Mon Dec 1 21:08:20 2008] [warn-phpd] mmap缓存无法打开   /var/www/vhosts/domain.com/httpdocs/file.php - 权限被拒绝(pid   7831)

似乎mmap没有权限打开文件,检查文件的文件夹权限。 检查文件的文件夹属性。