APC 不记得 CLI 中的缓存

2023-12-19

我正在使用以下命令设置 APC 缓存数组:

apc_add( 'ips', $ips );

通过命令行。可以通过以下方式检索此缓存数组:

apc_fetch( 'ips' )

在同一个脚本中。

但是,无法从后续 CLI 脚本或通过 Apache 调用的 PHP 访问它。虽然我可以跨 Apache 运行的脚本调用变量。

我正在运行:5.4.6-1ubuntu1.8 并且 APC 已启用:

apc.enable_cli=1

在我的本地 PC 上,我将 APCU 与 PHP7 一起使用,并且不会出现此问题。

设置:

apc.cache_by_default => On => On
apc.canonicalize => On => On
apc.coredump_unmap => Off => Off
apc.enable_cli => On => On
apc.enabled => On => On
apc.file_md5 => Off => Off
apc.file_update_protection => 2 => 2
apc.filters => no value => no value
apc.gc_ttl => 3600 => 3600
apc.include_once_override => Off => Off
apc.lazy_classes => Off => Off
apc.lazy_functions => Off => Off
apc.max_file_size => 1M => 1M
apc.mmap_file_mask => no value => no value
apc.num_files_hint => 1000 => 1000
apc.preload_path => no value => no value
apc.report_autofilter => Off => Off
apc.rfc1867 => Off => Off
apc.rfc1867_freq => 0 => 0
apc.rfc1867_name => APC_UPLOAD_PROGRESS => APC_UPLOAD_PROGRESS
apc.rfc1867_prefix => upload_ => upload_
apc.rfc1867_ttl => 3600 => 3600
apc.serializer => default => default
apc.shm_segments => 1 => 1
apc.shm_size => 32M => 32M
apc.shm_strings_buffer => 4M => 4M
apc.slam_defense => On => On
apc.stat => On => On
apc.stat_ctime => Off => Off
apc.ttl => 0 => 0
apc.use_request_time => On => On
apc.user_entries_hint => 4096 => 4096
apc.user_ttl => 0 => 0
apc.write_lock => On => On

有任何想法吗?


是的,这对于 apc.enable_cli=1 参数来说是一个令人困惑的方面。它表明您可以获得与 apache 模块类似的行为。

然而,对于 cli,只有一个进程并且没有共享状态,因此尽管参数在第一次 cli 执行完成后就存在,但当 cli 脚本完成时,整个 apc 内存空间将被释放并不再存在。

您需要一些其他机制(memcache、redis、队列、平面文件、数据库)来使其与除 APC 之外的多个 CLI 执行(批量运行?)一起工作。

FWIW,APC 使用共享内存来执行这些操作。有一个php 的单独共享内存 api http://php.net/manual/en/book.shmop.php, which might工作。其用例是在进程之间共享某些内容,根据定义,这些进程仅限于一台服务器。我能想到的用例并不多。通过 CLI 使用这些例程可能会起作用,但我还没有尝试过。

如果您确实需要共享某些内容,甚至可以跨多个服务器(例如批处理工作集群)工作,那么您最好使用队列、memcache 或 redis。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

APC 不记得 CLI 中的缓存 的相关文章

  • PHP 中的encodeURI() ?

    PHP 中是否有一些不编码的encodeURI 函数 我现在用这个 function encodeURI url http php net manual en function rawurlencode php https develope
  • 使用 PHP 中的 GD 库在图像上绘图

    我创建了一个代码来生成随机图案图像 它创建一个具有给定宽度和高度的图像 并用 40x40 像素的小矩形填充它 这是我的代码
  • 为什么这评估为 true

    为什么这评估结果为真
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia
  • 更改 Woocommerce 中“我的帐户”页面上的标题

    我见过大量有关如何使用 WooCommerce 我的帐户仪表板重新排序 更改导航和页面的示例 但我一生都无法弄清楚如何更改每个部分的主要标题 我的帐户 订单 下载 地址等 我已经搜索过模板 但没有任何乐趣 我尝试使用条件 php 注释来回显
  • 尝试使用 php 发送 POST 请求,无论我做什么,我都会收到“HTTP ERROR 500”

    为了发出 HTTP 请求 有人建议我尝试使用 PHP 并给了我一段代码 url https example com dashboard api data array to gt PHONE NUMBER from gt SENDER ID
  • php源代码到PO文件生成器

    我必须将我的所有回显 打印字符串转换为PHP源代码代码文件到PO file 为了语言翻译 有批次吗对流器可用于相同的 我如何做到这一点 make gettext在您的服务器上运行 setup a 翻译适配器 例如带有 gettext 适配器
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • CodeIgniter 控制器 - JSON - AJAX

    我正在尝试通过 AJAX 使用 CodeIgniter 发送表单构建 并尝试使用 JSON 获取响应 但是 我只在打开开发人员选项卡时看到响应 我什至不确定这是否实际上是响应 因为它显示了两个 json 数据 它所显示的只是加载旋转器 然后
  • PHP - 类外 use 关键字和类内 use 关键字的区别

    伙计们 美好的一天 只是想问一下有什么区别use之外的class and use在 的里面class 我也用谷歌搜索过 但我的问题与答案不匹配 Example namespace App Http Controllers Auth use
  • 获取字符串中的最后一个整数

    我需要隔离包含多个整数的字符串中最新出现的整数 我怎样才能得到23代替1 for lastnum1 text 1 out of 23 lastnum1 this gt getEval eregi replace out of text 你可
  • 访问sendBeacon发送的数据

    文档表明sendBeacon通过发送其数据HTTP POST request 但在 PHP 中 POST变量似乎是一个空数组 这是我的 JavaScript 代码 navigator sendBeacon beacon log php My
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • 对 SimpleXML 数据进行排序和分组

    我正在对 XML 文件中的出版物数据进行排序和分组 我目前使用的方法效果很好大部分情况下 尽管我觉得有一种更有效的方法来完成我想要完成的任务 以下是目标节点的示例
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • Codeigniter - 出现 404 Not Found 错误

    我们在 godaddy 有两个托管套餐 我们的实时网站使用以下 htaccess 文件运行良好 无需在 url 中使用 index php 即可访问网站 RewriteEngine On RewriteCond REQUEST FILENA
  • PHP 中的引用

    我正在编写一个自定义博客引擎 并且希望拥有类似于 Wordpress 的引用 我可以查看 WordPress 源代码 但我真的更喜欢某种教程 但到目前为止我还没有找到 有没有关于在 PHP5 中实现 trackbacks 或 pingbac
  • ZF3/2 - 如何捕获 EVENT_DISPATCH 侦听器中引发的异常?

    有什么方法可以在 EVENT DISPATCH 监听器中抛出异常吗 class Module public function onBootstrap EventInterface event application event gt get

随机推荐

  • 通过 SSH 传输文件 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在命令行上通过 SSH 连接到远程服务器 并尝试使用以下命令将目录复制到本地计算机上scp命令 但是 远程服务器返回此 使用 消息 Stewart
  • 为什么let=0有效但var=0无效? [复制]

    这个问题在这里已经有答案了 为什么不 let 0 显示任何语法错误 但是 var 0 做 我在Safari上测试过 不过我尝试过 console log let 但它有错误 似乎 let 不是一个已经定义的变量 为什么会发生这种情况 Bec
  • gke-metrics-agent 与 prometheus 相关的多个错误

    我向 GKE 部署了一个新应用程序 我看到 GKE 仪表板的 gke metrics agent 上有数千个错误 它使用大量资源 I checked the logs and I saw all errors related to Prom
  • 是否可以重写控制台中的前一行?

    我正在尝试在我的控制台应用程序中创建过程动画 是否可以根据此需要重写以前的行 我知道关于 r但它仅适用于当前行 如果不可能的话 怎样才能实现动画效果呢 谢谢 我的控制台是标准 Ubuntu 12 04 终端模拟器 感谢 MrSmith42
  • 如何使用Python将BLOB插入Oracle?

    我正在尝试使用 cx Oracle 6 3 将大量 BLOB 每个 2 到 20 MB 插入到 Oracle 12 中 经过大量的谷歌搜索和实验 我得到了以下代码 我是 Python 新手 想知道 该方法有效吗 有更快的方法吗 usr lo
  • 使用 Get-Help cmdlet 以相同格式显示基于注释的帮助

    我尝试使用 Get Help cmdlet 以与显示从 XML 文件生成的 cmdlet 帮助主题相同的格式显示基于注释的帮助 执行此操作的能力记录在about Comment based Help http technet microso
  • Tridion GUI Extensions CommandSet 如何映射到 js 方法?

    Tridion GUI 扩展配置如何将名称映射到 JS 文件 例如 我正在使用 Jaime 的你好世界帖子 http jaimesantosalcon blogspot com 2011 02 sdl tridion 2011 ga gui
  • 如何在 C#/Win32 api 中找到 Windows 应用程序执行别名的目标?

    Microsoft Windows 终端 通过 Microsoft Store 安装 创建 0 字节wt exe文件是一个Windows 执行别名 https www tiraniddo dev 2019 09 overview of wi
  • 如何计算(数学)字符串表达式,vb.net

    我不确定我使用的术语是否正确 但我有一个字符串表达式 我希望计算它 这是一个例子 Dim S 4 4 dim result evaluate S some sort of treatment that return 8 我不确定这将如何运作
  • 与 MinGW-64 的静态链接

    我正在尝试使用 64 位 MinGWhttp sourceforge net projects mingw w64 files Toolchains 20targetting 20Win64 Automated 20Builds http
  • java.net.SocketException:连接由对等方重置:服务文件时套接字写入错误

    我正在尝试使用套接字实现 HTTP 服务器 如果客户端 例如浏览器 请求目录 服务器将显示可用文件的列表 当客户端请求文件时就会出现问题 我收到以下错误 java net SocketException Connection reset b
  • 如何在Angular 2中实现AOP

    我是 Angular 2 的新手 但我在 Angular 1 x 方面有很好的经验 我收到错误 找不到模块 aspect js dist lib aspect 下面是我的代码 日志记录 aspect ts import Injectable
  • Android OpenGL图像处理——不使用SurfaceView

    我想使用 OpenGL ES 2 和着色器进行一些背景图像处理 但不绘制到表面 即仅离屏渲染到帧缓冲区 虽然我已经在 iOS 上做到了这一点 但我在 Android 上却遇到了困难 我想我已经接近创建一个工作 OpenGL 上下文 但还没有
  • C++:生成函数调用树

    我想解析项目中当前的 C 文件并列出其中的所有方法 函数 然后生成函数调用和调用者树 F g 您可以参考 doxygen 如何生成调用树 我已经检查了 gccxml 但它没有列出从另一个函数调用的函数 请建议我一些我可以使用的轻量级工具 开
  • 检查数字的递归函数

    编写一个递归函数来检查数字中有多少位可以除以它们后面的数字 例子 84963应该返回 2 因为 8 可以除以 4 6 可以除以 3 我的函数似乎根本没有输出任何内容 include
  • 如何更改表列数据类型[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有以下专
  • 如何建立/模拟持续的 TCP 连接?

    看起来 WCF TCP 连接不是持久的 第一次 ping 回复需要一段时间 但后续过程花费的时间更少 过了一会儿 又需要很长时间 再次重新连接 服务器 gt 在 net tcp 0 0 0 0 999 上启动 CLIENT gt Conne
  • CSS 只适用于 Safari?

    是否可以添加一个我只想在 Safari 中显示而不是在其他浏览器中显示的 css 块 下面是一个示例 如果您的浏览器是 Safari 或 Chrome 两者共享通用的 Webkit 渲染引擎 则将网站的字体颜色设置为绿色 media scr
  • 自动调整 WebView 大小以适应内容

    我正在开发一个 Xamarin Forms PCL 项目 该项目以 WebView 的形式显示帖子 因此我添加了可点击的内容 例如主题标签 我遇到的问题是 WebView 无法适应其内容的大小 WebView 不加载实际站点我使用以下方法将
  • APC 不记得 CLI 中的缓存

    我正在使用以下命令设置 APC 缓存数组 apc add ips ips 通过命令行 可以通过以下方式检索此缓存数组 apc fetch ips 在同一个脚本中 但是 无法从后续 CLI 脚本或通过 Apache 调用的 PHP 访问它 虽