PHP 常用的加速器:APC、eAccelerator、XCache. 今天来安装 APC.
APC PECL 项目地址:http://pecl.php.net/package/apc
1. 下载解压:
cd /data/temp/ wget http://pecl.php.net/get/APC-3.1.9 tar xzf APC-3.1.7.tgz cd APC-3.1.7
2. 编译安装 APC:
/user/phpize ./configure --with-php-config=/user/bin/php-config make; make install
3. 配置 php.ini 文件
extension_dir=/data/servers/php/lib/php/extensions/no-debug-non-zts-20090626/ extension="apc.so"
4. 重启php-fpm, 测试APC 安装是否正常.
[APC] ; Alternative PHP Cache 用于缓存和优化PHP中间代码 apc.cache_by_default = On ;SYS ; 是否默认对所有文件启用缓冲。 ; 若设为Off并和以加号开头的apc.filters指令一起用,则文件仅在匹配过滤器时才被缓存。 apc.enable_cli = Off ;SYS ; 是否为CLI版本启用APC功能,仅用于测试和调试目的才打开此指令。 apc.enabled = On ; 是否启用APC,如果APC被静态编译进PHP又想禁用他,这是唯一的办法。 apc.file_update_protection = 2 ;SYS ; 当你在一个运行中的服务器上修改文件时,你应当执行原子操作。 ; 也就是先写进一个临时文件,然后将该文件重命名(mv)到最终的名字。 ; 文本编辑器及 cp, tar 等程式却并不是这样操作的,从而导致有可能缓冲了残缺的文件。 ; 默认值 2 表示在访问文件时如果发现修改时间距离访问时间小于 2 秒则不做缓冲。 ; 那个不幸的访问者可能得到残缺的内容,不过这种坏影响却不会通过缓存扩大化。 ; 如果你能确保所有的更新操作都是原子操作,那么能用 0 关闭此特性。 ; 如果你的系统由于大量的IO操作导致更新缓慢,你就需要增大此值。 apc.filters = ;SYS ; 一个以逗号分隔的POSIX扩展正则表达式列表。 ; 如果源文件名和任意一个模式匹配,则该文件不被缓存。 ; 注意,用来匹配的文件名是传递给include/require的文件名,而不是绝对路径。 ; 如果正则表达式的第一个字符是"+"则意味着所有匹配表达式的文件会被缓存, ; 如果第一个字符是"-"则所有匹配项都不会被缓存。"-"是默认值,能省略掉。 apc.ttl = 0 ;SYS ; 缓存条目在缓冲区中允许逗留的秒数。0 表示永不超时。建议值为7200~36000。 ; 设为 0 意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。 apc.user_ttl = 0 ;SYS ; 类似于apc.ttl,只是针对每个用户而言,建议值为7200~36000。 ; 设为 0 意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。 apc.gc_ttl = 3600 ;SYS ; 缓存条目在垃圾回收表中能够存在的秒数。 ; 此值提供了一个安全措施,即使一个服务器进程在执行缓存的源文件时崩溃, ; 而且该源文件已被修改,为旧版本分配的内存也不会被回收,直到达到此TTL值为止。 ; 设为零将禁用此特性。 apc.include_once_override = Off ;SYS ; 请保持为Off,否则可能导致意想不到的结果。 apc.max_file_size = 1M ;SYS ; 禁止大于此尺寸的文件被缓存。 apc.mmap_file_mask = ;SYS ; 如果使用?enable-mmap(默认启用)为APC编译了MMAP支持, ; 这里的值就是传递给mmap模块的mktemp风格的文件掩码(建议值为"/tmp/apc.XXXXXX")。 ; 该掩码用于决定内存映射区域是否要被file-backed或shared memory backed。 ; 对于直接的file-backed内存映射,要设置成"/tmp/apc.XXXXXX"的样子(恰好6个X)。 ; 要使用POSIX风格的shm_open/mmap就需要设置成"/apc.shm.XXXXXX"的样子。 ; 你还能设为"/dev/zero"来为匿名映射的内存使用内核的"/dev/zero"接口。 ; 不定义此指令则表示强制使用匿名映射。 apc.num_files_hint = 1000 ;SYS ; Web服务器上可能被包含或被请求的不同源文件的大致数量(建议值为1024~4096)。 ; 如果你不能确定,则设为 0 ;此设定主要用于拥有数千个源文件的站点。 apc.optimization = 0 ; 优化级别(建议值为 0 ) 。 ; 正整数值表示启用优化器,值越高则使用越激进的优化。 ; 更高的值可能有非常有限的速度提升,但目前尚在试验中。 apc.report_autofilter = Off ;SYS ; 是否记录所有由于early/late binding原因而自动未被缓存的脚本。 apc.shm_segments = 1 ;SYS ; 为编译器缓冲区分配的共享内存块数量(建议值为1)。 ; 如果APC耗尽了共享内存,并且已将apc.shm_size指令设为系统允许的最大值, ; 你能尝试增大此值。 apc.shm_size = 30 ;SYS ; 每个共享内存块的大小(以MB为单位,建议值为128~256)。 ; 有些系统(包括大多数BSD变种)默认的共享内存块大小非常少。 apc.slam_defense = 0 ;SYS(反对使用该指令,建议该用apc.write_lock指令) ; 在非常繁忙的服务器上,无论是启动服务还是修改文件, ; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件。 ; 这个指令用于设置进程在处理未被缓存的文件时跳过缓存步骤的百分率。 ; 比如设为75表示在遇见未被缓存的文件时有75%的概率不进行缓存,从而减少碰撞几率。 ; 鼓励设为 0 来禁用这个特性。 apc.stat = On ;SYS ; 是否启用脚本更新检查。 ; 改动这个指令值要非常小心。 ; 默认值 On 表示APC在每次请求脚本时都检查脚本是否被更新, ; 如果被更新则自动重新编译和缓存编译后的内容。但这样做对性能有不利影响。 ; 如果设为 Off 则表示不进行检查,从而使性能得到大幅提高。 ; 不过为了使更新的内容生效,你必须重启Web服务器。 ; 这个指令对于include/require的文件同样有效。不过需要注意的是, ; 如果你使用的是相对路径,APC就必须在每一次include/require时都进行检查以定位文件。 ; 而使用绝对路径则能跳过检查,所以鼓励你使用绝对路径进行include/require操作。 apc.user_entries_hint = 100 ;SYS ; 类似于num_files_hint指令,只是针对每个不同用户而言。 ; 如果你不能确定,则设为 0 。 apc.write_lock = On ;SYS ; 是否启用写入锁。 ; 在非常繁忙的服务器上,无论是启动服务还是修改文件, ; 都可能由于多个进程企图同时缓存一个文件而导致竞争条件。 ; 启用该指令能避免竞争条件的出现。 apc.rfc1867 = Off ;SYS ; 打开该指令后,对于每个恰好在file字段之前含有APC_UPLOAD_PROGRESS字段的上传文件, ; APC都将自动创建一个upload_的用户缓存条目(就是APC_UPLOAD_PROGRESS字段值)。
相关推荐
首先,通过`apt-get`命令安装编译PHP所需的依赖库: ```bash sudo apt-get update sudo apt-get install build-essential libxml2-dev libssl-dev libjpeg-dev libpng-dev libfreetype6-dev libmcrypt-dev libbz2-...
当前我用的是APC-3.1.9 stable ,可以自己到 http://pecl.php.net/package/APC 下载最新版。 1、安装 复制代码 代码如下: wget http://pecl.php.net/get/APC-3.1.9.tgz tar xzvf APC-3.1.9.tgz cd APC-3.1.9 /usr/...
APC作为PHP的早期加速器,在PHP 5时代广泛应用。然而,随着PHP 7的发布,APC已被弃用,取而代之的是OPcache,它是PHP 7内置的默认加速器。尽管如此,对于还在使用PHP 5的旧项目,APC仍然是一个有效的性能优化工具。
CentOS 7 编译安装 PHP 7 并使用 PHP-FPM 连接 Apache 的知识点包括了以下几个方面: 1. **准备工作**: 在进行编译安装之前,确保系统已经安装了开发工具包,例如 GCC,以及 Apache 的开发包 httpd-devel,因为...
eAccelerator是一款免费且开源的PHP加速器,它旨在提升PHP脚本的执行效率,通过缓存编译后的PHP代码,减少服务器负载。eAccelerator的出现解决了PHP脚本编译的复杂性和效率问题。该加速器起源于2004年,最初是Turck ...
在Linux环境下安装APC,首先需要下载最新版本的APC包,例如3.0.19,解压后运行`phpize`、`configure`、`make`和`make install`命令,最后在`php.ini`配置文件中添加`extension=apc.so`启用APC扩展。 总的来说,PHP ...
在本文中,将会详细介绍PHP 7.3.6版本的编译安装过程,内容涉及必要的编译工具及库文件的安装,以及编译安装过程中几个重要扩展的编译方法。整个过程将会通过实例演示,帮助读者实现PHP 7.3.6的安装。 首先,是编译...
在 PHP7.2.6 中,安装 sodium 扩展需要先安装 libsodium 依赖项,并且需要编译 PHP 源代码来生成 sodium 扩展模块。 首先,需要安装 libsodium 依赖项,可以使用两种方式来安装:编译和直接 yum 安装。编译方式需要...
5. **安装扩展**:使用`make install`命令将编译后的oci8扩展安装到PHP的扩展目录。 6. **修改php.ini**:在php.ini中添加`extension=oci8.so`(或根据系统情况可能是`extension=php_oci8.dll`)。 7. **重启Web...
标题 "APC-3.1.8.tgz" 指的是一个名为 "APC" 的软件包的版本 3.1.8...综上所述,APC-3.1.8.tgz 是一个用于提升 PHP 性能的缓存扩展,在 Linux 环境下,用户需要按照一定的步骤进行编译、安装和配置才能利用其加速功能。
这些扩展有的是预编译的二进制文件,可以直接安装,而有的则需要从源代码编译。"php扩展源码编译包"就是这样一个集合,包含了几个重要的PHP扩展的源代码,包括libxml2、curl、libmcrypt、libpng和zlib。接下来,我们...
在Linux系统尤其是Ubuntu操作系统上编译安装PHP及其扩展程序是一项需要一定技术基础的任务。这里将介绍如何在Ubuntu环境下编译安装PHP 5.3.3版本以及如何配置Memcache扩展,以便开发者可以在本地环境中进行Web应用...
如果在编译PHP时没有开启`--enable-bcmath`选项,那么这个扩展将不会被编译进PHP,此时就需要通过`phpize`工具来动态添加。 `phpize`是PHP提供的一个脚本,用于准备构建和安装PHP扩展。要使用`phpize`,首先需要...
在本教程中,我们将深入探讨如何在 CentOS 6.2 操作系统上手动编译安装 Apache 2.4.1、MySQL 5.5.21 和 PHP 5.3.10,构建一个 LAMP (Linux + Apache + MySQL + PHP) 环境。这个过程分为多个步骤,包括系统环境的准备...
`phpize`是一个用于准备编译和安装PHP扩展的脚本。当你想要添加或更新PHP的某个功能,如`memcached`或`ImageMagick`扩展时,`phpize`就派上用场了。它会创建必要的配置文件并设置环境变量,以便于编译和集成新扩展到...
zxvf APC-3.1.14.tgz`解压文件,然后进入解压后的目录,执行`phpize`初始化构建环境,接着`./configure --with-php-config=/path/to/php-config`配置编译选项,最后`make && make install`进行编译和安装。...
如果你在非标准目录下安装了PHP,或者在执行`phpize`时遇到找不到`config.m4`的问题,可以尝试切换到PHP源代码的`ext`目录,如`/usr/local/src/php-4.3.5/ext`,然后在此处执行`phpize`。如果仍然出现问题,检查PHP...