【问题标题】:Detecting errors in apc检测 apc 中的错误
【发布时间】:2014-02-27 22:39:15
【问题描述】:

php 文档描述了 apc_store 之类的函数在出现错误时如何返回 false:

http://us3.php.net/manual/en/function.apc-store.php

我很好奇出现错误时这意味着什么,因为我找不到任何函数来实际返回错误是什么,或者任何关于它为什么会失败并返回 false 的文档。

对于这些 apc return false 函数,是否有相当于 php 的 error_get_last 的方法?或者也许 error_get_last 正是我正在寻找的?

谢谢

编辑:实际上文档说在“失败”时返回 false,尽管我同样不确定这意味着什么

【问题讨论】:

  • 你试过error_get_last()吗?
  • 我建议作为切线,尽快迁移到 ZendOpcache
  • @Ray 有什么特别的原因吗?
  • 也许缓存中没有足够的内存来存储试图存储的对象?
  • @Jasper 它已被纳入 php 5.5 并且对 APC 的支持开始逐渐减弱。 activecollab.com/blog/3-zend-opcache-memcached.html

标签: php apc


【解决方案1】:

以下情况会导致 apc_store 返回 false:

  • APC 被配置指令禁用
  • 写入缓存失败

写入缓存可能会失败,原因如下:

  • 共享内存已用尽或 SMA 正忙(在垃圾收集中)
  • 正在保护密钥免遭敲击 - 您已在前一秒从另一个进程或线程设置了该密钥

APC 不会在失败时设置任何全局错误编号或字符串,除非是由于底层系统调用而间接导致失败的情况;不要依赖它。

【讨论】:

    猜你喜欢
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    相关资源
    最近更新 更多