- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP APC的安装与使用详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1、PHPAPC安装 下载与解压安装包
编译安装:
修改php.ini加入
重启apache或者/usr/local/php/sbin/php-fpmrestart 。
。
2、PHPAPC配置选项 [APC] ;Alternative PHP Cache用于缓存和优化PHP中间代码 apc.cache_by_default= On ;是否默认对所有文件启用缓冲。 ;若设为Off并与以加号开头的apc.filters指令一起用,则文件仅在匹配过滤器时才被缓存。 apc.enable_cli= Off ;是否为CLI版本启用APC功能,仅用于测试和调试目的才打开此指令。 apc.enabled= On ;是否启用APC,如果APC被静态编译进PHP又想禁用它,这是唯一的办法。 apc.file_update_protection= 2 ;当你在一个运行中的服务器上修改文件时,你应当执行原子操作。 ;也就是先写进一个临时文件,然后将该文件重命名(mv)到最终的名字。 ;文本编辑器以及cp,tar 等程序却并不是这样操作的,从而导致有可能缓冲了残缺的文件。 ;默认值2表示在访问文件时如果发现修改时间距离访问时间小于2秒则不做缓冲。 ;那个不幸的访问者可能得到残缺的内容,但是这种坏影响却不会通过缓存扩大化。 ;如果你能确保所有的更新操作都是原子操作,那么可以用0关闭此特性。 ;如果你的系统由于大量的IO操作导致更新缓慢,你就需要增大此值。 apc.filters= ;一个以逗号分隔的POSIX扩展正则表达式列表。 ;如果源文件名与任意一个模式匹配,则该文件不被缓存。 ;注意,用来匹配的文件名是传递给include/require的文件名,而不是绝对路径。 ;如果正则表达式的第一个字符是"+"则意味着任何匹配表达式的文件会被缓存, ;如果第一个字符是"-"则任何匹配项都不会被缓存。"-"是默认值,可以省略掉。 apc.ttl= 0 ;缓存条目在缓冲区中允许逗留的秒数。0表示永不超时。建议值为7200~36000。 ;设为0意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。 apc.user_ttl= 0 ;类似于apc.ttl,只是针对每个用户而言,建议值为7200~36000。 ;设为0意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。 apc.gc_ttl= 3600 ;缓存条目在垃圾回收表中能够存在的秒数。 ;此值提供了一个安全措施,即使一个服务器进程在执行缓存的源文件时崩溃, ;而且该源文件已经被修改,为旧版本分配的内存也不会被回收,直到达到此TTL值为止。 ;设为零将禁用此特性。 apc.include_once_override= Off ;请保持为Off,否则可能导致意想不到的结果。 apc.max_file_size= 1M ;禁止大于此尺寸的文件被缓存。 apc.mmap_file_mask= ;如果使用–enable-mmap(默认启用)为APC编译了MMAP支持, ;这里的值就是传递给mmap模块的mktemp风格的文件掩码(建议值为"/tmp/apc.XXXXXX")。 ;该掩码用于决定内存映射区域是否要被file-backed或者sharedmemory backed。 ;对于直接的file-backed内存映射,要设置成"/tmp/apc.XXXXXX"的样子(恰好6个X)。 ;要使用POSIX风格的shm_open/mmap就需要设置成"/apc.shm.XXXXXX"的样子。 ;你还可以设为"/dev/zero"来为匿名映射的内存使用内核的"/dev/zero"接口。 ;不定义此指令则表示强制使用匿名映射。 apc.num_files_hint= 1000 ;Web服务器上可能被包含或被请求的不同源文件的大致数量(建议值为1024~4096)。 ;如果你不能确定,则设为0;此设定主要用于拥有数千个源文件的站点。 apc.optimization= 0 ;优化级别(建议值为0 )。 ;正整数值表示启用优化器,值越高则使用越激进的优化。 ;更高的值可能有非常有限的速度提升,但目前尚在试验中。 apc.report_autofilter= Off ;是否记录所有由于early/latebinding原因而自动未被缓存的脚本。 apc.shm_segments= 1 ;为编译器缓冲区分配的共享内存块数量(建议值为1)。 ;如果APC耗尽了共享内存,并且已将apc.shm_size指令设为系统允许的最大值, ;你可以尝试增大此值。 apc.shm_size= 30 ;每个共享内存块的大小(以MB为单位,建议值为128~256)。 ;有些系统(包括大多数BSD变种)默认的共享内存块大小非常少。 apc.slam_defense= 0 ;(反对使用该指令,建议该用apc.write_lock指令) ;在非常繁忙的服务器上,无论是启动服务还是修改文件, ;都可能由于多个进程企图同时缓存一个文件而导致竞争条件。 ;这个指令用于设置进程在处理未被缓存的文件时跳过缓存步骤的百分率。 ;比如设为75表示在遇到未被缓存的文件时有75%的概率不进行缓存,从而减少碰撞几率。 ;鼓励设为0来禁用这个特性。 apc.stat= On ;是否启用脚本更新检查。 ;改变这个指令值要非常小心。 ;默认值On表示APC在每次请求脚本时都检查脚本是否被更新, ;如果被更新则自动重新编译和缓存编译后的内容。但这样做对性能有不利影响。 ;如果设为Off则表示不进行检查,从而使性能得到大幅提高。 ;但是为了使更新的内容生效,你必须重启Web服务器。 ;这个指令对于include/require的文件同样有效。但是需要注意的是, ;如果你使用的是相对路径,APC就必须在每一次include/require时都进行检查以定位文件。 ;而使用绝对路径则可以跳过检查,所以鼓励你使用绝对路径进行include/require操作。 apc.user_entries_hint= 100 ;类似于num_files_hint指令,只是针对每个不同用户而言。 ;如果你不能确定,则设为0。 apc.write_lock= On ;是否启用写入锁。 ;在非常繁忙的服务器上,无论是启动服务还是修改文件, ;都可能由于多个进程企图同时缓存一个文件而导致竞争条件。 ;启用该指令可以避免竞争条件的出现。 apc.rfc1867= Off ;打开该指令后,对于每个恰好在file字段之前含有 。
3、PHP_APC函数 apc_add—缓存一个变量到数据存储 apc_bin_dump— Get a binary dump of the given files and user variables apc_bin_dumpfile— Output a binary dump of cached files and user variables to a file apc_bin_load— Load a binary dump into the APC file/user cache apc_bin_loadfile— Load a binary dump from a file into the APC file/user cache apc_cache_info— Retrieves cached information from APC's data store apc_cas— Updates an old value with a new value apc_clear_cache—清除APC缓存 apc_compile_file— Stores a file in the bytecode cache, bypassing all filters. apc_dec— Decrease a stored number apc_define_constants— Defines a set of constants for retrieval and mass-definition apc_delete_file— Deletes files from the opcode cache apc_delete—从用户缓存中删除某个变量 apc_exists—检查APC中是否存在某个或者某些key apc_fetch—从缓存中取出存储的变量 apc_inc—递增一个储存的数字 apc_load_constants— Loads a set of constants from the cache apc_sma_info— Retrieves APC's Shared Memory Allocation information apc_store— Cache a variable in the data store 。
4、PHPAPC使用 使用apc缓存的示例(test_apc_cache.php):
5、PHPAPC监控与管理 APC提供了apc.php,用于监控与管理APC缓存。将apc.php放到网站目录中,修改账号、密码,即可通过浏览器监控与管理APC缓存。 apc.php第41、42行:
。
最后此篇关于PHP APC的安装与使用详解的文章就讲到这里了,如果你想了解更多关于PHP APC的安装与使用详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
我听说最好不要从系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
单独安装 electron 与通过 electron-builder 安装有什么区别?我正在使用 React 构建一个 Electron 应用程序,并且已经找到了一些教程。它们安装 Electron
两者安装有什么区别?我按照安装页面上的说明在全局范围内安装了 webpack,然后我转到了入门指南,据说在那里可以在本地安装 webpack-cli。 CLI = Command Line Inter
我在 OS X Yosemite 上用 PHP 安装了默认的 Apache 服务器,安装了 pear,用 brew 安装了 Solr (brew install solr),现在我正在尝试使用 PEC
我解压并编译了 Ruby 2.1 并安装了几个支持工具。 但是当我安装了 libssl-dev 时,OpenSSL 不会安装。 我在支持 openssl 时遇到这个错误: make: *** No r
我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 ap
我注意到我正在读一本书提到通过 apt-get 安装 numpy 和 opencv apt-get install python-numpy python-opencv 但我可以通过以下方式在 pip
我正在尝试在 Windows 8.1 上安装 ansicon。我提取了文件并达到了我需要调用 ansicon -i 的级别。当我在 cmd 中输入此内容并运行 python 脚本时效果很好,但是当我通
我有 linux MINT 17.3 Kernel 4.4.0-81 所有更新可用。 (由于不同的原因,我无法迁移到更新版本的 ubuntu/mint) 我已经通过 PPA 安装了 FFMPEG(不是
尝试在本地运行我的应用程序时出现错误: 我只在 chrome 浏览器中收到此错误。我尝试过不同的东西,但我不确定为什么它是 Chrome 特定的。 最佳答案 我怀疑这不是 Firebase 问题,而是
这是我第一次开发 AngularJS 应用程序并使用脚手架工具 Yeoman ( http://yeoman.io/ )。我想对我的一些图标使用 fontawesome ( http://fortaw
我知道您通常“应该”$ pip install 如果包没有 brew ,但如果有一个你想安装的 python 包,你可以使用 $ pip install或 $ brew install为了?例如,通过
我正在尝试通过 RVM 安装 Ruby 1.9.3。然而,当谈到安装 RubyGems 时,我得到了这个: curl: (22) The requested URL returned error: 4
我是真正提出问题的新手,但你去吧。 我一直在尝试按照安装指南添加 dnsname: https://github.com/containers/dnsname https://github.com/c
Studio更新至0.4.0 建筑产量为“需要1.8版Gradle”;将设置设置为1.8 bin目录; 建立 “要求1.9级”;将设置设置为1.9 bin; 建立 “要求1.8级” 啊。不知道该怎么做
我刚刚注意到 kernel.org 因维护而停机。是否有使用不同镜子的不同公式?或者我可以向 Homebrew 软件添加不同的来源(如 bundler ?)? 谢谢你的帮助! 最佳答案 快速解决方法:
当我运行时: peardev install phpunit/PHPUnit 我得到以下信息: No releases available for package "pear.phpunit.de/P
服务器操作系统为Fedora 24. 64bit。 我想安装 Git 2.6.6。 所以下载源码并安装。 此服务器离线。所以我不使用“yum”。 ./configure --prefix=/usr/l
我正在尝试在我自己的服务器(操作系统:Linux Ubuntu Server 12.04)上安装 OpenEdX,但我遇到了同样的错误。谁能帮帮我? TASK: [ insights | insta
我是一名优秀的程序员,十分优秀!