filectime()[function.filectime]:stat失败了

时间:2011-08-10 21:01:38

标签: php file

我在基于Codeigniter的应用程序中遇到此问题。

A PHP Error was encountered

Severity: Warning

Message: filectime() [function.filectime]: stat failed for cache/6485224e8a2979278bc2725ce316d891717dbfad.php

Filename: libraries/Simple_cache.php

Line Number: 57

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

在我寻找答案时找到了这个:

  

如果PHP的整数类型在您的系统上只有32位,则filemtime()将会   对于超过2GB的文件失败并显示“stat failed”警告。所有   stat() - 相关命令将表现出相同的行为。

     

作为一种解决方法,您可以调用系统的stat命令来获取   修改文件的时间:

     

在FreeBSD上:$ mtime = exec('stat -f%m'.escapeshellarg($ path));

     

在Linux上:$ mtime = exec('stat -c%Y'。escapeshellarg($ path));

http://board.phpbuilder.com/showthread.php?10379026-RESOLVED-filectime-stat-failed-workaround

答案 2 :(得分:0)

派对迟到但是从错误日志中注意到您正在使用简单缓存库。

您的问题可能是缓存是作为.cache文件创建的,但检查它的行使用.php扩展名。

请参阅:

$file_expires = file_exists(APPPATH.'cache/'.$key.'.cache') ? filectime(APPPATH.'cache/'.$key.'.php')+$this->expire_after : (time() - 10);

应该是:

$file_expires = file_exists(APPPATH.'cache/'.$key.'.cache') ? filectime(APPPATH.'cache/'.$key.'.cache')+$this->expire_after : (time() - 10);

只是因为其他人偶然发现了这个