eaccelerator的配置文件详解

网上找来的,蛮详细,记下...

eaccelerator.shm_size

设置eacc可使用共享内存的最大值,单位是MB。如果设置为0,则代表默认大小。

eaccelerator.shm_size = "0"

在Linux平台上,对进程间的共享内存使用有大小限制,此值可以保存在/proc/sys/kernel/shmmax文件中,单位为字节。我们可以通过修改这个文件的值来达到更改此限制的目的:

echo value > /proc/sys/kernel/shmmax

这种修改动作只是临时的,系统重启后又会被重置。如果你想永久性的修改此值,可以通过修改配置文件的办法来实现。 /etc/sysctl.conf.

kernel.shmmax = value

eaccelerator.cache_dir

eacc将保存一些数据到此目录中,比如代码、Session、页面内容等等。当然这些值也可以保存在共享内存中,具体有eacc自己协调。此处默认值是 “/tmp/eaccelerator”.

eaccelerator.cache_dir = "/tmp/eaccelerator"

这个默认值仅是为了方便而已,并不是最好的。更好的位置是/var/cache/eaccelerator,但是要确保eaccelerator所在的程序可以对其进行读写操作。

更懒的方法:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

eaccelerator.enable

是否开启eaccelerator。这个配置在服务器支持vhost功能时很有用,我们可能允许某些人可以使用,某些人不可以使用,这时候就不能通过是不是加载eaccelerator模块来解决问题了。 1为启用,0为禁用。

eaccelerator.enable = "1"

eaccelerator.optimizer

是否对php代码进行优化,1为开启,0为关闭。优化这个动作发生在编译完成后,缓存之前。

eaccelerator.optimizer = "1"

eaccelerator.debug

是否开启debug模式。

eaccelerator.debug = 0

eaccelerator.log_file

设置log文件路径,如果此属性没有配置,则会将log写到标准错误stderr。当时用PHP与Apache的时候,还会加到Apache的错误日志里。

eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"

eaccelerator.name_space

eaccelerator以KV的形式在内存中保存数据,其会根据当前请求的ServerName作为key的前缀来避免数据冲突。但有时候我们想在不同的vhost之间共享数据,如果设置为空,eacc将使用hostname作为key前缀。

如果我们在php.ini里设置此值,则其对所有的vhost都起作用。我们也可以在vhost section或者.htaccess文件里设置(如果服务器支持的话),以方面我们在不同的虚拟主机间共享数据。

eaccelerator.name_space = ""

eaccelerator.check_mtime

eaccelerator会定期的查看下脚本是否变化了,如果变化了则重新编译并缓存他。虽然这种机制比起每次编译来说已经很快了,但是不停的检查文件的状态还会降低一定的性能。我们可以通过此配置禁用掉此机制,不过这样一来,当我们修改文件后,需要手动将eaccelerator的缓存都清空。

此值默认为1,表示开启检查机制.

eaccelerator.check_mtime = "1"

eaccelerator.filter

检测哪些PHP文件可以被缓存。我们可以指定*.php,*.phtml等。如果某个名称以!开头,则表示不对它进行缓存。需要注意的是,此处的配置仅对文件名其作用,对路径部分没有任何作用。

默认为空,表示缓存所有PHP文件。

eaccelerator.filter = “*.php *.phtml !*.jsp”

eaccelerator.shm_max

用于限制用户使用eaccelerator_put函数时传入数据的大小,单位为字节。

默认为0,表示不限制。

此配置不会改变PHP的内存最大值配置。

eaccelerator.shm_max = "0"

eaccelerator.shm_ttl

当共享内存耗尽后,eaccelerator将尝试删除在 shm_ttl秒内没有被访问的脚本的数据。默认为0,表示从不删除共享内存中的老数据。

eaccelerator.shm_ttl = "0"

eaccelerator.shm_prune_period

当eaccelerator没有更多的共享内存可用时,便每个一段时间尝试删除老数据,此处的配置便是设置其尝试删除老数据的间隔时间。默认为0,表示从不尝试删除老数据。

eaccelerator.shm_prune_period = "0"

eaccelerator.shm_only

是否仅在共享内存中缓存数据。默认为0,表示还允许在磁盘上保存数据。

eaccelerator.shm_only = "0"

eaccelerator.compress

当我们使用eaccelerator_content_*系列函数时,eAccelerator在保存它们到内存之前先对他们进行压缩。

1.开启 默认值

0.关闭

eaccelerator.compress = "1"

eaccelerator.compress_level

当eaccelerator.compress开启时,用于配置数据压缩的级别。.

eaccelerator.compress_level = "9"

eaccelerator.keys | session | content

比较细致的配置eaccelerator对各类数据缓存的存放地点。

可选的值:

  • shm_and_disk 默认值,共享内存与硬盘。
  • shm  先保存在共享内存,满了后再保存到磁盘
  • shm_only 只保存在内存。
  • disk_only 只保存在磁盘。
  • none 不缓存数据。
eaccelerator.keys     = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content  = "shm_and_disk"

本文来历不明,我也懒得追查是谁了。如果翻译作者正好看到就联系我加版权吧

eaccelerator的配置文件详解 没有评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据