Home > Article > Backend Development > Detailed explanation of configuration parameters and API of PHP accelerator eAccelerator_PHP tutorial
It can also optimize scripts to speed up their execution. Using eAccelerator can reduce the load on the server and improve the execution time of PHP code.
eAccelerator configuration options:
eAccelerator配置参数详细说明:
eaccelerator.shm_size
指定 eAccelerator 能够使用的共享内存数量,单位:MB。“0″ 代表操作系统默认。默认值为 “0″。
eaccelerator.cache_dir
用户磁盘缓存的目录。eAccelerator 在该目录中存储预编译代码、session 数据、内容等。相同的数据也可以存储于共享内存中(以获得更快的存取速度)。默认值为 “/tmp/eaccelerator”。
eaccelerator.enable
开启或关闭 eAccelerator。”1″ 为开启,”0″ 为关闭。默认值为 “1″。
eaccelerator.optimizer
开启或关闭内部优化器,可以提升代码执行速度。”1″ 为开启,”0″ 为关闭。默认值为 “1″。
eaccelerator.debug
开启或关闭调试日志记录。”1″ 为开启,”0″ 为关闭。默认值为 “0″。
eaccelerator.check_mtime
开启或关闭 PHP 文件改动检查。”1″ 为开启,”0″ 为关闭。如果您想要在修改后重新编译 PHP程序则需要设置为 “1″。默认值为 “1″。
eaccelerator.filter
判断哪些 PHP 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 “*.php *.phtml”等),如果参数以 “!” 开头,则匹配这些参数的文件被忽略缓存。默认值为 “”,即,所有 PHP 文件都将被缓存。
eaccelerator.shm_max
当使用 ” eaccelerator_put() ” 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10K, 1M)。”0″ 为不限制。默认值为 “0″。
eaccelerator.shm_ttl
当 eAccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 “shm_ttl” 秒内无法存取的脚本缓存。默认值为 “0″,即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_prune_period
当 eAccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于“shm_prune_period” 秒的缓存脚本。默认值为 “0″,即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_only
允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 “0″,即:使用磁盘和共享内存进行缓存。
eaccelerator.compress
允许或禁止压缩内容缓存。默认值为 “1″,即:允许压缩。
eaccelerator.compress_level
指定内容缓存的压缩等级。默认值为 “9″,为最高等级。
eaccelerator.name_sapce
一个所有键(keys)的前缀字符串。如果设置该前缀字符串则允许 .htaccess 或者 主配置文件在相同主机上运行两个相同的键名。
eaccelerator.keys
eaccelerator.sessions
eaccelerator.content
判断哪些键(keys)、session 数据和内容将被缓存。可用参数值为:
1.“shm_and_disk” – 同时在共享内存和磁盘中缓存数据(默认值);
2.“shm” – 如果共享内存用尽或者数据容量大于 “eaccelerator.shm_max”,则在共享内存或磁盘中缓存数据;
3.“shm_only” – 仅在共享内存中缓存数据;
4.“disk_only” – 仅在磁盘中缓存数据;
5.“none” – 禁止缓存数据。
eAccelerator应用程序接口(API):
eaccelerator_put($key, $value, $ttl=0)
将 $value 存储在共享内存中,并存储 $tll 秒。
eaccelerator_get($key)
从共享内存中返回 eaccelerator_put() 函数所存储的缓存数值,如果不存在或者已经过期,则返回 null。
eaccelerator_rm($key)
从共享内存中删除 $key。
eaccelerator_gc()
删除所有过期的键(keys)
eaccelerator_lock($lock)
创建一个指定名称的锁(lock)。该锁可以通过 eaccelerator_unlock() 函数解除,在请求结束时也会自动解锁。例如:
eaccelerator_unlock($lock)
解除指定名称的锁(lock)。
eaccelerator_set_session_handlers()
安装 eAccelerator session 句柄。从 PHP 4.2.0 以后,您可以通过设置 php.ini 中的 “session.save_handler=eaacelerator” 安装 eAccelerator 句柄。
eaccelerator_cache_output($key, $eval_code, $ttl=0)
Cache the output of $eval_code in shared memory for $ttl seconds. Output for the same $key can be removed by calling the mmcach_rm() function. For example:
eaccelerator_cache_result($key, $eval_code, $ttl=0)
Cache the result of $eval_code in shared memory for $ttl seconds. You can call the mmcach_rm() function to delete results with the same $key. For example:
eaccelerator_cache_page($key, $ttl=0)
Cache the entire page for $ttl seconds. For example:
eaccelerator_rm_page($key)
Delete pages with the same $key created by the eaccelerator_cache_page() function from the cache.
eaccelerator_encode($filename)
Returns the compiled encoding of the $filename file.
eaccelerator_load($code)
Load the script encoded by the eaccelerator_encode() function.