APC是否兼容PHP 5.4或PHP 5.5?
似乎并没有APC已经更新,以配合PHP 5.4版本(我希望他们将原来计划包含在PHP核心的APC)。
我似乎无法find任何明确的答案是否目前的APC工程与PHP 5.4 +。 我设法find用于php 5.4的Ubuntu包,但是php-apc包不会安装。
包含在PHP 5.5中的Zend OPCache
在2013年3月21日, PHP 5.5 beta 1发布了,包括“Zend OPCache” – 看起来这将是APC未来的替代品,因为它包含在PHP核心中,并且必须保留每个新的发布。
我个人build议那些依靠APC来操作代码caching的人用即将到来的内置操作码caching来testing他们的代码,反馈任何遇到的问题以确保最终的稳定版本。
我不知道这对APC的未来意味着什么。
PHP 5.4以上的APC仍然标示为BETA
这意味着开发人员不认为它是完全稳定的 。 尽pipe目前的SVN发布中很多人都没有遇到任何问题,但是在某些configuration下或者在负载较重的情况下,仍然有一些奇怪的报告。
与在生产环境中要使用的所有内容一样,请确保先在开发环境或预生产环境中彻底testing任何版本(testing版或稳定版)。 这包括负载testing!
从3.1.13版本开始,对SVN仓库的提交速度有所放缓,并且缺陷列表没有那么多新增内容。 做你会的。
2012年12月10日21:05,Rasmus Lerdorf写道:
现在APC已经达到了5.4的水平,我不认为现在还有比5.3更多的边缘情况。 两者都不是完美的,但对于大多数网站来说已经足够接近了。
任何具有C / gdb技能和一些空闲时间的人都可以在bug列表中看到,看他们是否能解决任何问题,或者改进我们所有依赖的免费开源产品 。
还有其他解决scheme,维基百科提供了一个PHP加速器列表 。
Zeev Suraski在2013年2月13日宣布了Zend Optimizer +源代码的可用性。
关于在下一个主要版本(5.5之后的版本)中将Zend Optimizer +集成到PHP内核已经有相当长的讨论 。 人们可能希望事先熟悉Zend Optimizer +,应该是这样的。
不要使用APC 3.1.14
APC 3.1.14已经从PECL下载中删除,由于一些严重的内存问题已被发现,但尚未被追查。
如果你已经使用3.1.14,你可能希望降级,直到3.1.15发布。 请记住,这仍然是testing版 。 如果您正在使用它,则需要自行承担风险。
2013-01-02 :
APC 3.1.14可用 , 除了解决相当数量的其他错误外 ,还增加了PHP 5.5的兼容性 。
还在testing
2012-09-03 :
APC 3.1.13可用, 修复了许多段错误 。
2012-08-16 :
一个APC 3.1.12标签已经被创build,但是仍然被标记为beta ,它在APC PECL页面以及更新日志上都可用。
很多bin_dump相关的bug在这个时候被修复了。
2012-07-19 :
已经创build了一个APC 3.1.11标记 ,但仍标记为testing版 ,可在APC PECL页面上find ,以及更新日志 。 我一直在关注相关的邮件列表,他们仍然在积极地处理APC的bug,但是这是一个复杂的模块,并不是很多人能够胜任。 包含文件时,此版本修复了令人讨厌的stat = 0错误。
2012-04-11 :
今天创build了一个APC 3.1.10标签 ,并在APC PECL页面上放置了一个3.1.10的testing版本
更新日志状态:
- 添加PHP 5.4支持(Dmitry,Anatoliy,Pierre)
- 修正了错误#22679:修复了常量的apc_bin_dump。 使用IS_CONSTANT_TYPE_MASK来处理所有常量,包括未encryption的常量(而不是〜IS_CONSTANT_INDEX检查)
- 修正了错误#23822,apache重新启动时php崩溃
从PHP 5.4.7和APC 3.1.13(甚至是2012-09-19的APC SVN中继)开始,虽然它是“兼容的”,但在负载较重的服务器上并不稳定,特别是在使用PHP- FPM和$ GLOBALS。 一些关于APC的开发者讨论了关于未解决的边缘案例 。
我在回答这个问题后的6个月,因为问题仍然普遍,遇到这样的线程没有像我这样的答案是什么让我跳到PHP 5.4 W / APC和烧毁。 希望这会帮助人们避免一些痛苦。
看起来这个错误“可能”已经在最新版本的主干中修复了。 我已经使用PHP 5.4.0工作了。
svn co http://svn.php.net/repository/pecl/apc/trunk/ apc-trunk
光盘apc干
phpize
。/configuration
使
进行安装
那么我想在过去的几天,并没有办法让我得到一个操作码的cacher与PHP 5.4的工作。 Xcache不会编译,并且apc在caching时不会识别某些类。 我认为这是西蒙在谈论的错误。
我听说有一些修复的后备箱,但我也尝试了最新的干线来源,但同样的错误不断回来。 我认为没有操作码的cacher(现在没有可用)的PHP是不值得的生产。 希望apc的人们能尽快解决这个问题。
UPDATE!
Xcache 2.0.0-rc1已经出来并且兼容php 5.4。 请享用!
不,APC 1.3.9(就目前而言,即使是svn主干)也与php 5.4.0不兼容,我知道是因为我花了几个小时试图让它工作(testing了各种svn / php。 ini设置/编译器标志/你的名字)。
这太荒谬了,APC是最受欢迎的PHP扩展之一,你可以期待经过8个PHP 5.4 RC的数周后,他们有时间让APC一起工作。
青衫。
我发现apcu http://windows.php.net/downloads/pecl/releases/apcu/
也许这是Windows上的x64 apc。 它(版本4.0.1)在我的应用程序上工作。
我正在使用PHP版本5.5.19的AMPPS。 从现在开始,PHP 5.5正式发布 – APC被replace为PHP 5.5中包含的Zend OPCache。 现在你只需要启用“APC”(现在是“OPcache”)就可以编辑你的php.ini。 在[XDebug]部分添加stream水线之前:
php.ini中
... [OPcache] zend_extension=php_opcache.dll opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=512 opcache.interned_strings_buffer=24 opcache.max_accelerated_files=4000 opcache.revalidate_freq=3 opcache.fast_shutdown=1 ...
请注意,我们需要有两个实例 :
zend_extension =
一个在[OPcache]和一个在[XDebug]部分。 在xampp / ampps / easyPHP服务器安装中,Xdebug通常不作为默认提供。 您可能会发现自己需要下载Xdebug扩展。 你可以通过使用一个在线应用程序来为你的php定义正确的Xdebug。 访问http://xdebug.org/wizard.php,并按照他们的简单说明。; 一旦你为你的php版本下载了正确版本的Xdebug,在[XDebug]部分编辑你的zend_extension链接。
... [XDebug] zend_extension = "C:\Program Files (x86)\Ampps\php\ext\php_xdebug-2.2.6-5.5-vc11.dll" ......
请注意! 你必须在你的php.ini文件中的XDebug之前添加OPcache部分! 如果你正确地关注我,你应该在php.ini文件中有两个zend_extension实例(一个在OPcache中,一个在Xdebug部分)。
这对于Symfony2框架是完美的 ,并且消除了为PHP和Xdebug安装和启用APC的推荐消息。
向运行symfony 2的用户发送消息,并从“web / config.php”中删除了警告消息,但仍然通过从命令行“php app / check.php”运行遇到问题。 如果发生这种情况,那意味着您的控制台正在使用不同的php.ini文件。 改变你的系统pathvariables – 使其指向正确的PHP目录(你有你的php.exe文件,哪些是由本地服务器使用)。
如果您需要更深入的解释,请在下面的评论中告诉我。 问候。
似乎还有一些问题有待解决。 检查错误 ,你可能会找出解决你的特定问题的方法。
几个小时之前,我处理了一个这样的错误,结果是使用SVN中继线上的APC是个好办法。 希望这可以帮助!
我发现您需要清除每个页面请求上的操作码caching,否则实现接口的类将无法加载。 这是从最新的svn trunk,Apache 2.4.1,PHP 5.4.0编译而来的。
APC – 不推荐
就我个人而言,我没有使用PHP 5.4或PHP 5.5的APC,但是最新的稳定的APC与PHP 5.4不兼容,最新的beta APC可以与5.4一起使用,但是写入仍然与APC有负面的问题。
如果你有PHP 5.5
只需使用Zend Opcache 。 它开箱即用,所以问题是最小的。
如果你有PHP 5.4
我推荐XCache 。 它完全兼容PHP 5.4和5.5。 积极开发。 最近的稳定版本在3.5个月前发布(2013年10月10日)。 即使使用fastcgi,它也可以提高性能。
Zend OPCache包含在PHP 5.5中,名称为php_opcache.dll ,位于php / ext目录下。 为了激活它:
- 将php_opcahe.dll文件添加为php.iniconfiguration文件中的zend扩展名。
- 使用格式zend_extension = path / to / php / ext / php_opcache.dll 。
- 将zend_extension放在你的php.iniconfiguration文件中的xDebug zend_extension之前。
- 保存你的php.iniconfiguration文件并重启你的服务器。
自1月2日起,APC推出了新版本:3.1.14,解决了一些错误: http : //pecl.php.net/package/APC
不过,我已经从dotdeb存储库运行了带有APC 3.1.13的PHP 5.4.x,至今没有任何问题,所以对于我来说,我会说它是稳定的。 dotdeb也告诉我,他们将在下一个PHP版本中包含更新后的APC,预计这个版本是5.4.11。
我们正在用PHP 5.4.26和APC 3.1.9来试验内存释放错误(apache segfault)。 在PHP 5.4上有一个针对APC的开放式错误: https ://bugs.php.net/bug.php ? id = 61934
我build议不要在PHP> 5.3上使用这个插件。
在XAMPP 5.6.3版本(PHP 5.6.3)中,你需要在ini.php中完成以下工作:
[OPcache] zend_extension = php_opcache.dll opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=512 opcache.interned_strings_buffer=24 opcache.max_accelerated_files=4000 opcache.revalidate_freq=3 opcache.fast_shutdown=1 [XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll" xdebug.max_nesting_level = 200 xdebug.profiler_append = 1 xdebug.profiler_enable = 1 xdebug.profiler_enable_trigger = 0 ;xdebug.profiler_output_dir = "C:\xampp\tmp" ;xdebug.profiler_output_name = "cachegrind.out.%t-%s" ;xdebug.remote_enable = 0 ;xdebug.remote_handler = "dbgp" ;xdebug.remote_host = "127.0.0.1" ;xdebug.trace_output_dir = "C:\xampp\tmp"
symfony2框架的configuration。