几乎每次我想通过app_dev.php查看我的网站页面时,都会出现“加载调试工具栏时出错”对话框,如果我点击Firefug查看详细信息,我会收到此错误:
FatalErrorException:错误:require()[function.require]:无法 获取pthread锁(EDEADLK) /Users/me/Sites/myproject/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php 第120行
这真烦人......
非常感谢您的帮助
答案 0 :(得分:0)
它肯定与APC有关,这是唯一发出错误的东西。
http://lxr.php.net/xref/PECL/APC/apc_pthreadmutex.c#76
(rwlock可以发出相同的错误)
两件事:
APC支持许多不同类型的锁定,因此,并且由于每个实现给出的各种返回值来表示不同的锁定状态,APC的代码库不检查对锁定函数的调用的返回值,而不是完全正如您所看到的,在锁定功能本身内保释。虽然业务逻辑无法为奇怪的状态做准备,比如EDEADLK ......
这将是我的猜测,而且我可能是对的,某些地方的某些事情会导致尝试递归锁定缓存,这可能是由于调用include / require / autoloaders而不是调用获取来自用户缓存的数据。
我所说的一切都没有帮助......对不起......