标签: apc

APC操作码缓存是否在PHP-FPM池/工作者之间共享?

互联网有很多讨论,apc_cache_clear()在CLI中调用不会清除"web"PHP进程中的操作码缓存,无论它们是在Apache内部运行还是由FPM运行(请参阅如何清除APC缓存条目?).作为建议的解决方案,可以创建一个简单的PHP页面来调用apc_cache_clear(),并从CLI调用它.Symfony的ApcBundle就是这么做的.

如果apc_cache_clear()CLI不从Apache/FPM清空缓存,那么它是否在FPM工作者之间?如果我通过HTTP调用/clear_apc_cache.php,它只由一个FPM工作进程运行.那么,APC操作码缓存是否真正在池和工作人员之间共享 - 更具体:它是否自动从所有工作人员中清除?

php opcode-cache apc

15
推荐指数
2
解决办法
1万
查看次数

检查APC是否已安装并正常工作的正确方法是什么?

我正在编写一个wordpress插件,其中CSS是以dinamically方式编译的,因此我已经实现了各种策略来缓存它.截至目前,缓存的首选是APC,如果安装的话.

这是我正在检查它

    $is_apc_installed = function_exists( 'apc_store' )
                      && function_exists( 'apc_fetch' )
                      && ini_get( 'apc.enabled' );
            $sapi_type = php_sapi_name();
            if (substr($sapi_type, 0, 3) === 'cgi') {
                $is_apc_installed = false;
            }
Run Code Online (Sandbox Code Playgroud)

但在某些安装中我仍然得到apc_fetch()总是返回false.我还应该检查以确保APC正常工作?

php apc

15
推荐指数
2
解决办法
8676
查看次数

如何在debian上安装apcu作为php7扩展

我见过ubuntu的这个教程. http://thereluctantdeveloper.com/2015/12/quick-and-dirty-php-70-set-up-on-ubuntu-1404-with-apcu

一步之后我不清楚(git clone).我需要apcu扩展我的应用程序才能更快地执行.请指导在debian上安装php 7的apcu扩展.

debian apc php-7

14
推荐指数
5
解决办法
6万
查看次数

PHP APC,教育我

我目前正在将memcached实现到我的服务中,但不断出现的建议是我还应该实现APC来缓存实际代码.

我已经浏览了一些教程,以及PHP文档,但我的主要问题是,如何大规模实现它?PHP文档讨论了存储变量,但不是那么详细.

请原谅我在这个领域没有受过教育,但我想知道实际网站在哪里实施.我是否真的会缓存一切或仅缓存经常使用的部分,例如函数?

谢谢!

php apc

13
推荐指数
2
解决办法
3752
查看次数

PHP APC:当APC缓存已满时会发生什么?

当您尝试将变量添加到APC并且APC缓存已满时会发生什么?它是否自动从缓存中删除最少使用的变量?

php apc

13
推荐指数
2
解决办法
7207
查看次数

如何使APC(PHP缓存)工作?

我读过有关APC的信息,它可以加速多个php文件站点.所以我在PHP中有这个特殊的项目有很多文件,我发现require_once和解析只有类定义(不执行它们)需要花费大部分时间.

所以我在我的CentOS 5服务器上安装了APC.我将apc.php移动到我的网络服务器并显示

Hits: 1 (50.0%)
Misses: 1 (50.0%)

Cached Files    1 (281.1 KBytes)
Run Code Online (Sandbox Code Playgroud)

我可以去网站和更改子页面,等等,apc.php仍然只显示一个缓存文件?

在phpinfo()中它表明:

启用APC支持

我不知道该怎么办.APC是否正常工作(如phpinfo()sais)或不是吗?浏览网站上的某些页面后,只有一个缓存文件不多.

还有更多如何诊断错误并确保APC有效?我已经浏览过了

apc.mmap_file_mask /tmp/apc.QnLqNf /tmp/apc.QnLqNf

目录/ tmp,但我没有apc的任何文件,就像在phpinfo中所说的那样.

请帮我检查APC是否正常工作,如果没有,可能会出现问题.

php caching apc centos

13
推荐指数
1
解决办法
2万
查看次数

优雅的Apache重新启动清除APC吗?

会打电话

$ httpd graceful
Run Code Online (Sandbox Code Playgroud)

清除APC缓存,或者我必须做一个全面的

$ httpd restart
Run Code Online (Sandbox Code Playgroud)

去做吧?(请记住,我知道有更好的方法可以做到这一点,比如以编程方式调用apc_clear_cache()).

php apache apc

13
推荐指数
2
解决办法
1万
查看次数

os x pecl在os x lion上安装apc错误

我尝试在OS X Lion(sudo pecl install apc)上安装带有pecl的APC,它抱怨缺少pcre.h文件:

In file included from /private/tmp/pear/temp/APC/apc.c:44:
/usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found
#include "pcre.h"
Run Code Online (Sandbox Code Playgroud)

所以我使用MacPorts来安装pcre包(sudo port install pcre),但它仍然抱怨.我怎样才能解决这个问题?

php apc pecl osx-lion osx-mavericks

13
推荐指数
2
解决办法
9428
查看次数

带APC和Codeigniter的进度条 - IE和Chrome出现问题

我正在尝试使用Codeigniter和AP​​C制作进度条.

这是我的表格:

<form method="post" action="" id="upload_file" enctype="multipart/form-data" target="result_frame">

<input type="hidden" value="<?php echo uniqid(); ?>" id="progress_key" name="APC_UPLOAD_PROGRESS" />

<p><label for="userfile">S&eacute;l&eacute;ctionnez un fichier</label><br />
<input type="file" name="userfile" id="userfile" size="20" />
&nbsp;
<button class="btn btn-primary" type="submit" name="submit" id="submit" value="Submit"><span class="icon-upload"></span>&nbsp;Valider</button></p>  
Run Code Online (Sandbox Code Playgroud)

当用户点击提交按钮时,它会触发上传过程.这是我的"检查进度"功能:

function checkProgress() {

$.ajax({
    type: "POST",
    url: "/fbe_upload/index.php/fbeupload/upload_progress",
    async: true,
    dataType: "json",
    data: {
        session_unid: $('#progress_key').val()
    },
    //Success
    success: function(data) {

        //Progress
        liveProgress = data.progress;

        //Progress bar
        $('#progressBar-' + idRow).attr("class", "progress progress-striped active");
        $('#progressBar-' + idRow + " div.bar").css("width", parseInt(liveProgress) + "%"); …
Run Code Online (Sandbox Code Playgroud)

javascript upload codeigniter apc progress-bar

13
推荐指数
1
解决办法
817
查看次数

__PHP_Incomplete_Class_Name错误

我们随机得到一些非常奇怪的错误日志.即使使用相同的参数/动作/等,它们也不会发生在每个页面上,并且它们似乎不可重复,每个页面的崩溃位置和上下文都不同.但几乎所有都有错误的__PHP_Incomplete_Class_Name作为原因.

一个这样的错误是:

main():脚本尝试执行方法或访问不完整对象的属性.请确保在调用unserialize()之前加载了您正在尝试操作的对象的类定义"LoginLogging",或者提供__autoload()函数来加载类定义

问题是,没有"LoginLogging"类.当它被保存到会话中时,它所引用的对象是ScormElement类型.转储变量给出:

__PHP_Incomplete_Class::__set_state(array(
 '__PHP_Incomplete_Class_Name' => 'LoginLogging',
 'intUserId' => '64576',
 '__intUserId' => '64576',
 'intScormId' => '665',
 '__intScormId' => '665',
 'intScoId' => '9255',
 '__intScoId' => '9255',
 'strElement' => 'cmi.core.lesson_location',
 '__strElement' => 'cmi.core.lesson_location',
 'strValue' => '1',
 'dttTimeModified' => QDateTime::__set_state(array(
   'blnDateNull' => false,
   'blnTimeNull' => false,
   'strSerializedData' => '2011-08-31T08:05:22-0600',
   'date' => '2011-08-31 08:05:22',
   'timezone_type' => 1,
   'timezone' => '-06:00',
 )),
 '__strVirtualAttributeArray' => array (),
 '__blnRestored' => true,
 'objUser' => NULL,
 'objScorm' => NULL,
)
Run Code Online (Sandbox Code Playgroud)

正确保留所有属性,并匹配ScormElement的类定义.但是班级名称是错误的.这里没有名为LoginLogging类.

造成这种情况的原因是什么?我们如何修复它?

编辑:这只是一个例子.其他错误在结构上非常相似,但会影响其他类类型,并且具有不同的不完整名称.但是,所有不完整的名称都具有正确类名的相同字符串 …

php session serialization apc

12
推荐指数
4
解决办法
2万
查看次数