问题标签 [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 revalidate freq config in php.ini
If I'm setting this config in php.ini file:
Will it still be better than disable Opcache system?
Because in my opinion, it will check for file updates every request, so it like the Opcache is disabled.
php - 重新启动特定版本的 PHP/Apache?
我刚刚在我的服务器(Centos 6 / Plesk 12)上安装了 PHP 版本 5.5,并为我的一个站点更改了 php 版本。我可以通过 php 信息文件看到该站点正在使用新的 PHP 版本,但我不知道如何启动该版本的 php。我对 PHP5 ini 文件进行了一些更改,但是当我重新启动 apache 时,它会重新启动旧版本(php 5.4)而不是 php5.5 ..对不起,我不是最擅长 shell 命令,但有人知道如何重新启动新的 php 版本如果我在服务器上安装了多个版本?谢谢!
附加信息 - 我对 php5.5 ini 文件所做的更改正在加载 zend_extension opcache.so ..这就是我首先安装 php 5.5 的原因!
奖励问题:zend opcache 将 php 5.5 作为 fastcgi 有效运行吗?我听说对象缓存模块与 fastcgi 不兼容,因为它允许用户以自己的用户身份运行应用程序,因此缓存无法为每个用户创建 x 数量的缓存..如果这有意义..lol
谢谢
php - 如何在 PHP 中获得更长的编译时间
我想知道如何编写需要更长编译时间的 PHP 脚本?
我想这样做以测试OPCache 扩展的工作原理。
后期编辑:当 PHP 脚本加载时,代码被编译成字节码,这个字节码将被 CPU 解释。编译过程通常需要几毫秒,但我需要让这个时间非常长,以测试 PHP 5.5 的 OPCache 扩展。这个扩展应该缓存脚本字节码,这样它就不需要再次编译脚本。
php - php 环境 OpCache 在 Plesk 12 中不持久
几秒钟后,Zend OpCache 和 APCu 中的所有缓存数据都将丢失。
详细信息: 1. 在 CentOS 上使用虚拟主机(Apache、nginx 三明治)运行 Plesk 12.0.18 服务器。2. 编译 php 5.5.17 和 5.6.1 并根据 Plesk KB 安装,包括处理程序。3. 在 Plesk 中一切正常 4. 配置缓存(Zend OpCache 和 APCu)
症状:如果我直接重新加载页面(不使用浏览器缓存),缓存会被加载并工作。几秒钟后(5 -30 秒),缓存清空并消失。
添加:在 htop 中,我看到一个使用 vhost 用户 ID 运行的“php-cgi”。一旦这个 php-cgi 死掉,缓存就会丢失。所以基本上我假设整个 php 环境与 php-cgi 进程一起被“杀死”。
问题: - 我该怎么做才能使这些会话持续存在?- 我有几个虚拟主机,所有的 Wordpress 都具有相同的主题。有没有办法让缓存通过虚拟主机进行交互以进一步优化操作?- 由于我的站点相似,但用户数量不同,我想配置所有缓存以跨虚拟主机工作,尤其是在缓存设置上(看到一个站点占用应用程序。85 - 117 MB 缓存)所以应用程序 1GB 总缓存听起来不错我为 10 个 WP 网站。为所有人配置一个缓存是否可行且合理?如果没有任何额外的建议?
TIA kbi
php - Opcache 导致 PHP 致命错误:找不到 Class '\xa0L\xdaor\x7f'
我们网站上的图像大小调整脚本有时会失败,并出现以下错误:
PHP 致命错误:第 4 行未找到 Class '\xa0L\xdaor\x7f' ...
有问题的脚本的实际第 4 行是:
我不知道\xa0L\xdaor\x7f
错误日志中的十六进制代码来自哪里。该脚本将运行良好,并且相对频繁地运行一两天,然后每次都开始失败,并出现该错误。
如果我运行opcache_reset()
,错误就会停止。
任何人都知道可能导致此问题的原因是什么?
更新:我没有收到任何回应 - 所以我只是使用opcache.blacklist_filename
.
php - IIS上的PHP崩溃与typo3 + opcache
运行时,我们偶尔会从 IIS 7.5 收到不规则的 500 错误
- 启用 opcache 的 PHP 5.6.1
- 错字3 6.2 LTS
opache 黑名单包含typo3temp 缓存目录。
错误:
HTTP-Fehler 500.0 - 内部服务器错误 C:\php-responsive-5-6\php-cgi.exe - FastCGI 进程意外中止**
问题是 php 没有留下任何关于正在发生的事情的日志。但是启用了 error_log 并且 php 有效地将日志记录到文件中,但仅在这种情况下,没有日志。
"display_errors", "display_startup_errors" are set to "On".
禁用 opcache 会使错误消失。
我们知道在 IIS 上运行 PHP 可能不是一个常见的技术堆栈,但在我们的项目中我们无法避免它。不过,我们并不是在 Windows 上配置 PHP 的专家。
有人知道吗?
php - 启用 Opcache 不起作用
我正在尝试启用 Opcache,但由于某种原因,在编辑我的 php.ini 文件并重新启动 apache(甚至重新启动服务器)后,它仍然没有启用。运行测试我可以看到 php 文件的位置:
在该文件中,我添加了:
zend 扩展的位置由 locate opcache.so 定义。这没有用。然后我注意到 php 正在加载一个附加文件 /etc/php5/apache2/conf.d/05-opcache.ini。在该文件中,它看起来像:
但是,重新启动 apache 后它仍然无法启用。以下是我的 phpinfo() 输出:
我怎样才能让它启用?
nginx - 使用 OPcache 和 PHP-FPM/Nginx 的命中率为 0%
我试图让 PHP 5.5 的 OPcache 在 Vagrant 的 Ubuntu 14.04 上运行的 Nginx/PHP-FPM 设置上工作。
我的/etc/php5/mods-available/opcache.ini
目录配置如下:
运行php -v
并phpinfo()
显示 OPcache 已启用,加载opcache-status和opcache-gui显示相同。
在 OPcache GUI 中,我可以看到文件正在被缓存,我还通过将 OPcache 设置为以详细模式登录来确认这一点。问题是……他们永远不会被击中!
我已经运行 ApacheBench 来锤击应用程序,但没有记录一次命中 - 0 次命中和 103 次未命中。我什至测试了一个hello_world.php
简单地执行的文件echo 'Hello, world!';
,并且每次都注册为“未命中”。
有谁知道可能出了什么问题?
更新:
我设法获得了一个可重复的命中记录案例。如果在我service php5-fpm restart
运行 ApacheBench 后立即运行 100 个并发连接,则缓存命中率 > 75%。从那时起,每次“正常”刷新也将被记录为命中。
但是,如果我重新启动 php-fpm 并且我的初始请求是“正常的”(即仅来自我的 Web 浏览器),然后我运行 ApacheBench 并有 100 个并发连接 - 他们都错过了......</p>
就像最初的请求需要敲击服务器才能让点击从那时起持续存在……真的很奇怪!我假设这可能与 php-fpm 产生进程的方式有关,但我真的是该领域的新手,所以如果这给任何人一些线索 - 请帮助!
php - 从 APC 到 OPcache 的迁移路径是什么?
将 php 和 APC 缓存机制升级到更新/更好的 OPcache 的正确方法是什么?是否有特定的工具或重新配置脚本?
php - 在 PHP 5.6 中将 Zend OpCache 存储为文件?
我正在尝试使用 Zend OpCache 混淆和加速我的代码,但 OpCache 似乎没有像其他旧缓存系统那样将字节码存储在文件中的常用功能。由于 OpCache 是在操作码中将文件缓存在内存中的本机方法,我想继续使用它,但我需要能够在系统崩溃的情况下隐藏我的代码。(只是另一个安全预防措施)
我有哪些选项可以将我的 PHP 文件存储为操作码或字节码中的编译代码?
编辑:我认为人们误解了我所寻找的大部分内容。请阅读我对帖子的评论。我是一名超过 12 年的专业网络开发人员,所以我对此并不陌生。我只是想稍微改变一下我的策略,看看其他人是否知道我没有想到的解决方法。