我有時碰到爲什麼我會隨機遇到這個致命錯誤(在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