jjzjj

opcached

全部标签

php - PHP 5.5+ Opcache 何时根据 revalidate_freq 设置检查文件时间戳

之前/其他地方已经有人对此表示歉意,但我找不到答案。我们在部署后的几分钟内遇到了一些问题,我们认为它们与Opcache相关。在我们的实时设置中,我们有以下Opcache设置:opcache.revalidate_freq=60opcache.validate_timestamps=1PHP执行以下哪些操作?当PHP需要一个文件时,它是否会检查自上次生成该文件的新缓存以来是否已经过了60秒,如果超过了则为该请求生成一个新缓存?或者它是否在某种形式的计时器(或其他东西)上运行,其中60秒与上次需要文件的时间无关?我期待选项1,但这并不能解释我们60秒左右的问题,因为文件的文件路径是不同的,

php - Zend OPcache 性能设置与默认设置

据我了解这些设置:opcache.validate_timestamps=0opcache.interned_strings_buffer=16opcache.max_accelerated_files=3907opcache.blacklist_filename=/blacklisted_files应该提高性能(根据链接:1、2和3)。我实际上不确定最后2个,在我的情况下,“internet_strings_buffer”设置值“4”可能永远不会被填充(因此不会给出更好的结果),但是“validate_timestamps”应该删除stat()函数开销,因此给我更好的性能,但根据我对

php - 启用 PHP 5.5 OPCache

配置OPCache后asrecomanded,它不起作用。那么,如何调试OPCache,看看问题出在哪里呢?或者我遗漏了什么?我的配置:php.ini文件php-v在代码中opcache_get_status();//returnfalse//butextension_loaded('ZendOPcache')//returntrue 最佳答案 已经有一段时间了,所以我想你已经从这个问题上走了出来,但以防你还没有。注意到您正在运行Xdebug...您是否检查过php.ini以确保以下内容不是问题?IfyouwanttouseOPca

PHP Opcache 替换策略

我知道APC正在被OpCache取代。我启用了这个模块,到目前为止一切正常。但是,关于如何调整以获得最佳性能的文档很少。我的系统目前有大量需要缓存的文件。因此,如果这些文件使其缓存,那么一切都很棒。但是,如果达到最大值,我可能不希望缓存中有很多文件。最好我想缓存将具有最高命中率的文件。因此,如果有的话,很高兴知道Opcache使用的替换策略是什么。如何解决缓存中没有最常用文件的问题。FIFO、LRU中的任何一个都适用于我的系统,但我还没有找到任何关于此的文档。任何帮助,将不胜感激! 最佳答案 更换策略不要期望FIFO或LRU。那东西

php - 当我打开 php opcache 时,Doctrine 吓坏了

我在使用Doctrine和PHP5.5.6Opcache时遇到了一个非常奇怪的问题。当opcache模块关闭时,一切正常。打开它后,我开始收到以下异常:Fatalerror:Uncaughtexception'Doctrine\ORM\Mapping\MappingException'withmessage'Class"Admin\Models\Users\Role"isnotavalidentityormappedsuperclass.'invendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.phponline3

php - OpCache - 了解缓存是如何工作的,每个用户或每个资源?

我正在使用OpCache,因为它随PHP5.5.x一起提供,我真的很喜欢它,但我想调整它的内存设置,而这正是我理解不足的地方......当给定用户请求给定页面时,服务器会响应此请求,调用PHP解释器,解释器将操作码存储在缓存中,提供内容,仅此而已。下一次请求进来时,如果请求的操作码相同,缓存就会启动,但我的问题是......缓存在每个用户的基础上工作(并且缓存的操作码仅适用于该特定用户的请求)还是它们适用于任何使用这些缓存操作码的请求?我想做的是调整OpCache以使用一定数量的内存,但我不知道内存池是基于每个用户工作还是像共享资源池一样工作。你能给我一个提示吗?

php - 启用 Opcache 不工作

我正在尝试启用Opcache,但出于某种原因,在编辑我的php.ini文件并重新启动apache(甚至重新启动服务器)后,它仍然没有启用。运行测试我可以看到php文件位置:LoadedConfigurationFile/etc/php5/apache2/php.ini在该文件中我添加了:zend_extension=/usr/lib/php5/20121212/opcache.soopcache.enable=1opcache.memory_consumption=128opcache.interned_strings_buffer=8opcache.max_accelerated_f

php - 我们在我们的服务器上看到 "corrupted"opcache。知道如何解决吗?

我们遇到了一个我一直在努力解决的奇怪问题。我们时不时地对我们的服务器进行部署,并且一台服务器将开始按照以下方式将错误流式传输到日志中,require_once():Failedopeningrequired'/var/www/CrrrectPath/Abstract.php'(include_path='/var/www/')in/var/www/CorrectPath/Object.phponline2问题并不总是include()。有时方法名称会以同样的方式损坏(单个字符被另一个字符替换)。在生产环境中调试受影响的服务器后,我可以看到文件本身绝对没有问题。我的直觉是文件的opcac

php - Opcache 导致 PHP fatal error : Class '\xa0L\xdaor\x7f' not found

我们网站上的图像大小调整脚本有时会失败并出现以下错误:PHPFatalerror:Class'\xa0L\xdaor\x7f'notfound...online4有问题的脚本的实际第4行是:$photo=newPhoto($photo_id);我不知道错误日志中的十六进制代码\xa0L\xdaor\x7f来自哪里。该脚本将运行良好,并且相对频繁地运行一两天,然后每次都开始失败,并出现该错误。如果我运行opcache_reset(),错误就会停止。有人知道是什么导致了这个问题吗?更新:我没有得到任何回应-所以我只是使用opcache.blacklist_filename从操作码缓存中排除

PHP 5.5 OPCache 不适用于 apache

我在公司负责操作码缓存交换,我们正在从eaccelerator转移到PHP5.5附带的ZendOPCache。当我在CLI中访问PHP时,OPCache似乎工作正常:PHP5.5.5(cli)(built:Oct15201310:29:13)Copyright(c)1997-2013ThePHPGroupZendEnginev2.5.0,Copyright(c)1998-2013ZendTechnologieswithZendOPcachev7.0.3-dev,Copyright(c)1999-2013,byZendTechnologies但是当我通过Apache访问我的网站时,基准测