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的配置文件详解 没有评论