我需要在部署新版本的站点时清除所有APC缓存条目.APC.php有一个用于清除所有操作码缓存的按钮,但是我没有看到用于清除所有用户条目或所有系统条目或所有每个目录条目的按钮.
是否可以通过命令行或其他方式清除所有缓存条目?
我读了这篇文章:http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/当时..我希望得到最好的缓存引擎,以便我的应用程序非常快.当然我不想过度缓存,但我想至少选择最好的东西.在那篇文章中它说Memcached很慢而且apc很快所以为什么每个人都选择memcached?
http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels在这里说"使用快速的(但有限的)像Apc,Memcache ......和a "慢"一个像File,Sqlite ......"你认为使用Apc作为快速和Memcache,因为慢是一个好主意?
我偶尔会遇到服务器的内存分配限制,特别是对于像Wordpress这样臃肿的应用程序,但从未遇到过"无法为池分配内存"而且无法跟踪任何信息.
有谁知道这意味着什么?我试过增加memory_limit没有成功.我还没有对该应用程序进行任何重大更改.有一天没有问题,第二天我遇到了这个错误.
我认为自从我安装XDebug以来我的服务器变得很慢.所以,为了测试我的假设,我想完全禁用XDebug.我一直在寻找有关如何做到这一点的教程,但我找不到这些信息.
我正在研究哪一个使用,我真的找不到一个突出的. Eaccelerator比APC更快,但APC维护得更好.Xcache更快,但其他人的语法更简单.
有人建议使用哪些以及为什么?
看起来APC似乎没有更新,以配合php 5.4版本(我希望他们将像原计划一样将APC包含在PHP核心中).
我似乎无法找到任何明确的答案,目前的APC是否适用于PHP 5.4+.我设法找到PHP 5.4的Ubuntu包,但不会安装php-apc包.
我运行命令: sudo pecl install apc
文件下载,配置成功,然后make启动,我收到以下错误.
/usr/include/php5/ext/pcre/php_pcre.h:29: fatal error: pcre.h: No such file or directory
有办法解决吗?
从我的角度来看,PHP和Java都有类似的结构.首先,您编写一些高级代码,然后必须以更简单的代码格式进行翻译才能由VM执行.一个区别是,PHP直接从源代码文件中工作,而Java将字节码存储在.class文件中,VM可以从中加载它们.
如今,对快速PHP执行的要求越来越高,这使人们相信直接使用操作码更好,而不是每次用户点击文件时都要经过编译步骤.
该解决方案似乎是所谓的加速器的加载,它基本上将编译结果存储在缓存中,然后使用缓存的操作码而不是再次编译.
另一种由Facebook完成的方法是将PHP代码完全编译为另一种语言.
所以我的问题是,为什么PHP世界中没有人在做Java所做的事情?是否有一些动态元素确实需要每次重新编译或类似的东西?否则,在代码投入生产时编译所有内容然后只需使用它就会更加智能.
简介: Apache 2.4的mod_proxy似乎没有将Authorization标头传递给PHP-FPM.有没有什么办法解决这一问题?
长版: 我正在使用Apache 2.4和PHP-FPM运行服务器.我正在使用APC进行操作码缓存和用户缓存.根据Internet的建议,我使用Apache 2.4的mod_proxy_fcgi来代理对FPM的请求,如下所示:
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/foo/bar/$1
Run Code Online (Sandbox Code Playgroud)
安装工作正常,除了一件事:APC捆绑的apc.php,用于监控APC的状态不允许我登录(查看用户缓存条目所需).当我单击"用户缓存条目"以查看用户缓存时,它会要求我登录,单击登录按钮会显示通常的HTTP登录表单,但输入正确的登录名和密码不会成功.当使用mod_php而不是mod_proxy + php-fpm运行时,此函数运行正常.
经过一些谷歌搜索,我发现其他人有同样的问题,并发现这是因为Apache没有将授权HTTP标头传递给外部FastCgi进程.不幸的是我只找到了mod_fastcgi的修复程序,它看起来像这样:
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
Run Code Online (Sandbox Code Playgroud)
有没有相同的设置或一些解决方法,也适用于mod_proxy_fcgi?
我正在运行带有以下包的Web服务器; php-apc 3.1.7-1 php5-fpm 5.3.10-1ubuntu3.10
但是,我已经在Ubuntu 14.04上构建了一个新的服务器,似乎php-apc不再可用了.
因此,APC是我的巨大流量的生命服务器(100 k /每日独特访问)
我对PHP的缓存机制有点困惑.新服务器包括以下软件包:php-apc 4.0.2-2build1 php5-apcu 4.0.2-2build1 php5-fpm 5.5.9 + dfsg-1ubuntu4.7
phpinfo()给我模仿"apc".据我所知,APC被APCu取代.
https://github.com/cepa/kickasscache 我正在为我的缓存运行这个免费课程,它确实在我的案例中保存了很多cpu/mem.但我无法理解这是否与APCu相同?
如果不是,我该如何设置正确的缓存?因为我的新服务器资源有限,我需要一个解决方案.
php -v返回
PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
这是否意味着默认启用OPcache?
apc ×10
php ×10
caching ×4
apache ×1
eaccelerator ×1
http ×1
installation ×1
memcached ×1
memory ×1
mod-proxy ×1
opcache ×1
opcode-cache ×1
pear ×1
pecl ×1
performance ×1
xcache ×1
xdebug ×1