我在基于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
答案 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);
只是因为其他人偶然发现了这个