什么是apc_fetch():apc_fcntl_rdlock`?

时间:2014-05-11 18:52:04

标签: php windows apc

Fatal error: apc_fetch(): apc_fcntl_rdlock failed errno:6 in C:\Users\x\Documents\GitHub\xx\xxx\api\vendor\klein\klein\Klein\Klein.php on line 500

这是什么错误?什么可能导致它?

启用了APC,这是我从phpinfo()得到的:

apc

APC Support enabled
Version 3.1.13
APC Debugging   Disabled
MMAP Support    Disabled
Locking type    File Locks
Serialization Support   php
Revision    $Revision: 327136 $
Build Date  Apr 23 2014 17:21:24

1 个答案:

答案 0 :(得分:1)

APC是Alternative PHP Cache,它是加速网站上PHP代码的绝佳工具。但是,如果您正在进行本地开发 - 您似乎正在做 - 您不需要它。似乎有are issues with APC on Windows machines。最好的,实用的解决方案是完全禁用as explained here

您需要通过查看php.ini的输出来查找设置正在加载的phpinfo()。然后注释掉实际加载APC的行,如下所示:

extension=apc.so

并像这样评论:

;extension=apc.so

或者你仍然可以加载apc.so但是通过设置它来禁用它:

apc.enabled = 1

对此:

apc.enabled = 0

如果在php.ini中找不到类似的行,则查找名为apc.ini的文件。在Ubuntu 12.04上,它将位于此路径中:

/etc/php5/conf.d/apc.ini

但是,如果你使用的是显然属于其他地方的W​​indows机器。关键是要查找包含PHP加载的其他配置文件的conf.d,例如apc.ini

然后重新启动您的Web服务器-Apache? IIS? - 你应该很好。