gpt4 book ai didi

php - apc_exist() 不存在?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:01:30 25 4
gpt4 key购买 nike

我很难让 PHP APC 工作。这是我的测试代码:

<form>
<input type="text" name="apc">
<input type="submit">
</form>
<?php
apc_store('foo','FOO');
if (isset($_GET['apc'])) {
apc_store($_GET['apc'],$_GET['apc']);
}
?>
<pre>CACHE INFO (USER): <?php print_r(apc_cache_info("user",false)); ?></pre>
<pre>CACHE INFO: <?php print_r(apc_cache_info()); ?></pre>
<pre>FOO: <?php print_r(apc_fetch("foo")); ?></pre>
<pre>BAR: <?php print_r(apc_fetch("bar")); ?></pre>
<pre><?php if (apc_exists("bar")) { ?>bar exists!<?php } else { ?>bar does not exist!<?php } ?></pre>
<?php apc_clear_cache(); ?>

简而言之:您填写表格,插入的值存储在 APC 中。始终存储 key “foo”。您可以尝试存储“bar”以查看 apc_fetch() 使用新添加的 key 。

什么工作正常:

  • apc_store()
  • apc_fetch()

什么不是:

  • apc_cache_info()(无论我将哪些参数传递给函数)总是打印一个空数组,尽管 apc_fetch() 成功检索数据
  • apc_clear_cache() 从不清除缓存(“bar”总是在输入后显示)。如果我提供一个 "user" 参数或让函数没有参数,这都是正确的。
  • 调用 apc_exists() 会产生 fatal error :调用未定义的函数 apc_exists()

以防有用:我正在运行 Zend Server CE 5.6.0(全新安装,半小时前完成),PHP 5.3.9。昨天,更古老的 Zend Server CE 版本(运行 PHP 5.3.5)也发生了同样的情况。我不知道 Zend Server 附带哪个版本的 APC,phpinfo() 只显示 APC 已启用。我在 Windows 机器上(Windows 7 Professional,32 位)。

所以。这里出了什么问题?我的代码有问题?也许 Zend Server 附带了一个旧版本的 APC,它只是有问题和/或不支持我正在尝试使用的功能?有什么线索吗?

[编辑]

受@Hannes 提供的线索的启发,我修改了代码,添加:

<?php
if (!function_exists('apc_exists') {
function apc_exists($key) { return (boolean)apc_fetch($key); }
}
?>

由于没有引发错误,代码传递到下一行并且缓存被清除 OK。这一定是它一开始没有被清除的原因。

仍然,apc_cache_info() 没有返回任何东西...

最佳答案

  1. apc_exists 可用于 PECL apc >= 3.1.4 http://www.php.net/manual/en/function.apc-exists.php所以你的 APC 版本可能较低,但它基本上只是一个 bool 包装器,一个简单的函数基本上应该做同样的事情:

    function user_apc_exists($key){ return (bool) apc_fetch($key); }

  2. 在这两种情况下,您都没有提供使用哪个缓存的信息,您可能希望用户:

    apc_clear_cache('user');

    apc_cache_info('user);

http://www.php.net/manual/en/function.apc-clear-cache.php

http://www.php.net/manual/en/function.apc-cache-info.php

关于php - apc_exist() 不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9125904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com