启用 PHP 5.5 OPCache
Posted
技术标签:
【中文标题】启用 PHP 5.5 OPCache【英文标题】:Enable PHP 5.5 OPCache 【发布时间】:2015-05-08 02:39:00 【问题描述】:配置OPCacheas recomanded后,不工作了。
那么,如何调试 OPCache 看看问题出在哪里?
或者我错过了什么?
我的配置:
php.ini
php -v
在代码中
opcache_get_status(); // return false
//but
extension_loaded('Zend OPcache') // return true
【问题讨论】:
我已经在这个标签上回答了这个问题 2 或 3 次。 Opcache 在从共同父进程派生的进程之间使用 SMA。由于 CLI 调用的范围是单个请求,因此在 CLI 上下文中执行时它什么也不做。搜索以前的 [opcache] Qs 以获取更多详细信息。 我没有在 CLI 上下文中执行,它是通过 apache 在网站上执行的。不过我会看标签的,谢谢! 在这种情况下,cliphp -v
不相关。您需要 mod_php5
版本,并且您需要将任何 opcache_*
API 调用作为 Web 请求事件运行,如果只是来自 localhost URI 的 wget
以获得有意义的诊断
【参考方案1】:
我有同样的问题。我在C:\wamp\bin\apache\apache2.4.17\bin
位置编辑了php.ini
文件并解决了问题。但是在我在C:\wamp\bin\php\php5.6.15
路径中编辑php.ini
之前。
你应该在C:\wamp\bin\apache\apache2.4.17\bin
路径中编辑php.ini
文件。我正在享受 OPCache 的速度!
【讨论】:
【参考方案2】:已经有一段时间了,所以我想你已经从这个问题上移开了,但万一你还没有。注意到您正在运行 Xdebug...
您是否检查过您的 php.ini 以确保以下不是问题?
If you want to use OPcache with » Xdebug, you must load OPcache before Xdebug.
http://php.net/manual/en/opcache.installation.php
可能值得一提的另一件事是您不需要指定共享库的路径。以下内容就足够了:
zend_extension=opcache.so
【讨论】:
以上是关于启用 PHP 5.5 OPCache的主要内容,如果未能解决你的问题,请参考以下文章
为啥 PHP 5.5 的 OPcache 显示零命中? suPHP 的罪魁祸首?