我有时碰到为什么我会随机遇到这个致命错误(在Yii Framework中)?
Fatal error: require() [<a href='function.require'>function.require</a>]: apc_fcntl_lock failed errno:6 in C:\web\yii\framework\web\CWebApplication.php on line 345
码方面:
else
$controllerID.='/';
$className=ucfirst($id).'Controller';
$classFile=$basePath.DIRECTORY_SEPARATOR.$className.'.php';
if(is_file($classFile))
{
if(!class_exists($className,false))
require($classFile); ////////////THIS IS LINE 345
if(class_exists($className,false) && is_subclass_of($className,'CController'))
{
$id[0]=strtolower($id[0]);
return array(
new $className($controllerID.$id,$owner===$this?null:$owner),
$this->parseActionParams($route),
);
}
return null;
}
相对运行环境:
OS:win2k3.
PHP Version 5.3.6
Server API CGI/FastCGI
apc:
Version 3.1.8-dev
APC Debugging Disabled
MMAP Support Disabled
Locking type File Locks
Serialization Support php
Revision $Revision: 308812 $
Build Date Mar 1 2011 13:31:44
是什么原因造成这个错误?我如何解决它?
谢谢。与我遇到的症状完全相同,希望在制作后不会出现。 – LotusH
@LotusH:这个错误信息呢?你还有这个问题吗?我在问,因为在启用Windows Server 2008上的IIS服务器上的APC后启用APC后,我的网站上只显示相同的错误消息。我不太明白,因为我也在自己的机器上使用IIS + Windows 7尝试了它,使用相同版本的PHP,相同版本的MySQL,相同数据和相同版本的APC,它的工作原理没有任何问题。这真的很奇怪:几乎有相同的条件,并且在Windows 7上可以正常工作,但在Windows Server 2008上有问题... – Sk8erPeter
好吧,对不起,我必须撤销2小时前所说的内容。我测试了服务器,以及另一个安装了phpMyAdmin的站点,显示的错误消息与“Unknown on line 0”中的“致命错误:未知:apc_fcntl_lock失败errno:6”相同。禁用APC后,一切都再次运行......但这不是一个解决方案......:\ – Sk8erPeter