首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/Centos/Apache的eAccelerator设置

PHP/Centos/Apache的eAccelerator设置
EN

Server Fault用户
提问于 2011-02-24 21:37:04
回答 1查看 2.4K关注 0票数 2

我在服务器上安装了eAccelerator,在CentOS上使用PHP/Apache运行Wordpress。我偶尔会得到持久的“白色页面”,这大概是PHP致命的错误(尽管这些错误没有出现在我的error_log中)。这些“白色页面”到处都是。它们一直存在,直到我访问eAccelerator control.php页面,清除/清除/清除缓存,这表明我配置eAccelerator不正确。

以下是我当前的/etc/php.ini设置:

  • memory_limit = 128M;
  • eaccelerator.shm_size="64",其中shm.size是“用于缓存eAccelerator脚本的共享内存eAccelerator的数量”(参见http://eaccelerator.net/wiki/Settings)。
  • eaccelerator.shm_max="0",其中shm_max是“用户可以使用eaccelerator_put之类的函数输入共享内存的最大大小.默认值是"0”,这将禁用限制。
  • eaccelerator.shm_ttl="0" --“当eAccelerator没有足够的空闲共享内存来缓存一个新脚本时,它将从共享内存缓存中删除至少在shm_ttl秒内没有被访问的所有脚本。默认情况下,这个值设置为"0”,这意味着eAccelerator不会尝试从共享内存中删除任何旧脚本。
  • eaccelerator.shm_prune_period="0" --“当eAccelerator没有足够的空闲共享内存来缓存脚本时,如果前面的尝试比几秒钟前的"shm_prune_period”更多,它就会尝试删除旧脚本。默认值是"0“,这意味着eAccelerator不会尝试从共享内存中删除任何旧脚本。
  • eaccelerator.keys = "shm_only" --“这些设置控制着eAccelerator可以缓存用户内容的位置. 'shm_only‘在共享内存中缓存S数据”

在我的phpinfo页面上写着:

  • memory_limit 128M
  • Version 0.9.5.3Caching Enabled true

在我的eAccelerator control.php页面上写着

  • 可用内存总数64 MB
  • Memory usage 77.70% (49.73MB/ 64.00MB)
  • 27.6 MB由PHP操作码缓存中的缓存脚本使用(我自己计算了文件大小)
  • 22.1MB由缓存键使用,由Wordpress对象缓存填充。

我的问题是:

  • eAccelerator缓存中只有36.4 MB的空间用于全部“缓存密钥”(64 MB的总RAM减去缓存脚本所占用的任何内容,即目前的27.6 MB ),这是真的吗?
  • 如果我的应用程序试图为eAccelerator内存缓存写入超过22.1MB的缓存密钥,会发生什么情况?就像我见过的那样,这会导致eAccelerator发疯吗?
  • 如果我将eaccelerator.shm_max更改为等于(例如) 32 MB,这会避免这个问题吗?
  • 我是否还需要更改shm_ttl和shm_prune_period以使eAccelerator遵守shm_max设置的MB限制?

谢谢!:)

EN

回答 1

Server Fault用户

发布于 2011-02-24 22:52:42

我使用几乎相同的eAccelerator设置,从来没有类似的问题(我没有任何“键”设置)。据我所知,修改设置只会改变缓存是否有效。“坏”eAccelerator设置只会导致运行slowly...not脚本错误的脚本。

我不明白你所说的"36.4 MB的缓存密钥空间“是什么意思。从您的问题来看,eAccelerator使用49.73MB,脚本中使用27.6MB,键中使用22.1MB (27.6+22.1=49.7),留下14.3MB的空闲。

使用当前的设置,当分配的64‘t限制达到时,eAccelerator将不再缓存任何东西。除了一些脚本不能像它们那样快地运行之外,不应该有任何问题。如果您希望删除旧的缓存项,可以使用前面提到的各种设置。我通常只是增加eAccelerator的内存量,这样它就能在内存中保存所有的脚本。

如果您的脚本显示“白色页”,我会再次检查错误日志。如果您没有收到任何错误消息,我将检查是否启用了错误日志并正常工作。我会尝试禁用eAccelerator,看看是否可以复制脚本错误。如果它似乎只发生在eAccelerator上,我会卸载它并从头开始安装。

另一种远程的可能性是内存或磁盘不好,这会破坏缓存的版本。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/239963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档