问题标签 [opcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Opcache 未启用
我已经在 Ubuntu 上安装了 Apache 2.4.x 网络服务器,还从源代码中安装了 PHP5.5.x。我去 php 安装文件夹并执行find . -name "opcache.so"
. 然后,在 php.ini(与 phpinfo() 中相同)中添加zend_extension=/php5/lib/php/extensions/no-debug-zts-x/opcache.so
,然后opcache.enable=On (or 1)
使用apachectl restart
. 然后我检查 phpinfo() 但 opcache 没有启用!请帮忙。
我认为可能使用了错误的 php.ini 文件,但在 phpinfo() 中它显示了我编辑的文件的路径。当我在 php.ini 中将最大上传文件大小从 2M 更改为 4M 并重新启动 Apache 时,它不会在 phpinfo() 中更改
opcache - 从 htacces 而不是从 .ini 文件启用 opcache
我在 opcache.ini 中设置 opcache.enable=0
现在我想从我的 htaccess 文件中启用 opcache
php_flag opcache.enable On
但它不工作
有什么办法,我在 opcache.ini 中禁用 opcache,并在我的应用程序的 htacces 文件中启用。
谢谢
apc - “mysql server has gone away”错误的可能原因(php 5.4,mysqlnd)
我们最近将我们的一个网络服务器从 PHP 5.3(Debian Squeeze 软件包,使用 libmysqlclient 和 APC)升级到 PHP 5.4(Debian Wheezy,Dotdeb 软件包,使用 mysqlnd、Opcache 和 APCu)。在正常工作了将近一天之后,每个请求我们都遇到了“mysql server has gone away”错误。所有其他负载相同的服务器仍然运行 PHP 5.3 和 libmysqlclient 使用相同的 MySQL 服务器完全没有问题。在我们使用的所有服务器上:
在我们的 PHP 5.3 服务器上,我们没有更改任何 mysql/my.cnf 超时。我们知道 read_timeout (mysql)、wait_timeout (mysql)、default_socket_timeout (php) 和 max_execution_time (php) 的问题,但仅限于具有长时间运行查询的批处理脚本的上下文中。我们的网络服务器通常会在 300 毫秒左右做出响应,所以这些超时在这里应该不是问题。
当我们从负载平衡中删除服务器时,它变得非常奇怪,所以不再有负载,但我们仍然有 180 个繁忙的 Apache 进程。即使aapache2ctl graceful
没有改变任何东西,甚至几个小时后apache2ctl status
说:
只apache2ctl restart
解决了这个问题,一切都恢复正常了。MySQL 错误是我们目前发现的唯一“有用”的错误消息。
可能是 mysqlnd、opcache 或 apcu 和 PHP 5.4.30 的问题吗?是否有任何已知问题可能导致我们所经历的行为?
或者您知道如何调试“mysql 服务器已消失”问题?
php - 我需要 memcached 和 Opcache 吗?
除了读到人们使用 APC/Opcache/Memcache/Memchached/Varnish 来让 PHP 运行得更快之外,我对缓存一无所知 :)
所以,自从我使用 PHP5.4 以来,我上周尝试了 APC,但随后将我的更新到 PHP5.5,以便我可以使用 Opcache。所以,既然 Opcache 正在工作,我什至需要让我的 wordpress 网站更快,因为我听说 APC 与 opcache 不兼容,我想知道 memcached 是否可以使用,因为我几乎可以肯定清漆是好的,因为它与 PHP 无关。
那么,使用 memcached 会进一步改善我的网站吗?
opcache - OpCache 不缓存
我最近激活了 opcache,但它似乎没有工作。已通过 phpinfo() 确认激活
如您所见,0 次命中 1 次未命中 1 个缓存脚本(opcached gui)
我错过了什么?
服务器是 Linux 服务器 centos 6.5 vps PHP 5.5
关于 opcache 配置的更多信息
opcache_enabled 真
cache_full 假
restart_pending 假
restart_in_progress 假
已用内存 8.54 MB
空闲内存 503.46 MB
浪费的内存 0 个字节
current_wasted_percentage 0.00%
缓冲区大小 4194304
已用内存 446.41 kB
空闲内存 3.56 MB
number_of_strings 4895
num_cached_scripts 1
num_cached_keys 1
max_cached_keys 65407
命中 0
start_time 2014 年 7 月 26 日星期六 23:20:32 +0000
last_restart_time 从不
oom_restarts 0
hash_restarts 0
手动重启 0
错过 1
黑名单未命中 0
blacklist_miss_ratio 0.00%
opcache_hit_rate 0.00%
php - Zend OPCache - opcache.enable_cli 1 还是 0?它有什么作用?
在文档中它说“主要用于调试”,这会让我认为“除非你有问题并且需要进行一些调试,否则永远不要启用它”,但是阅读我能找到的关于它的所有内容都说启用它“opcache .enable_cli 1" 但为什么呢?我找不到有关此问题的任何信息,所以如果有人知道,如果文档基本上说将其保持为 0,我为什么要启用它?
debian - Zend OPcache 需要 Zend Engine API 版本 220090626
我在 Debian Squeeze 下将 php 5.3 更新到 5.4。之后我尝试安装 OPcache,这就是我所做的:
我做错了什么?“phpize”给了我这个:
这不应该是:20100525 和 PHP 5.4 吗?
请帮忙!
caching - 如何清除 APCu 中的用户缓存?
我尝试使用此 PHP 代码清除用户缓存并从浏览器访问它:
但它不起作用。(我正在使用这些工具来查看它是否正常工作https://rtcamp.com/tutorials/php/zend-opcache/)
此外,当用户缓存已满时,它不会从 0 重新启动。APCu 只是停止工作。
我试图设置apc.user_ttl=0
,但 APCu 无法识别它。
我的设置是:
symfony - Zend OPcache 类加载错误
每隔一段时间,我们应用程序中的一个实例就会开始抛出这个错误:
[Fri Aug 29 14:23:25.359848 2014] [:error] [pid 2759] [client 1.2.3.4:58627] PHP Fatal error: Zend OPcache class loading error, class FSC\\HateoasBundle\\Serializer\\EventSubscriber\\EmbedderEventSubscriber in /var/app/current/vendor/composer/ClassLoader.php on line 183
加载任何页面时都会发生这种情况。我试过composer dump-autoload
了,但这没有任何作用。反复重启Apache同样没用。这是在 Apache 2.4.6 上运行的 PHP 5.5.7。这是 opcache 首选项:
我们都不知所措。有人有想法么?
php - When exactly does PHP 5.5+ Opcache check file timestamp based on revalidate_freq setting
Apologies of this has been asked before/elsewhere but I cannot find the answer.
We have some issues in the minute following a deploy and we think they are Opcache related. On our live setup we have the following Opcache settings:
Which of the following does PHP do?
When PHP needs a file, does it at that point check if it has been 60 seconds since it last generated a new cache of the file and if it has been more then generate a new one for this request?
Or does it run on some form of timer (or something else) where the 60 seconds is unrelated to when it last needed the file?
I'd expect option 1 but that wouldn't explain our 60 seconds or so of problems as the file path for the files is different as we deploy to an alternating A or B directory each time.
I hope that makes sense? Thanks for your help.