【发布时间】:2013-12-25 17:10:41
【问题描述】:
我在 Centos 6.4 上使用 PHP 版本 5.4.20。
在var/www/html/oldDirecory/index.php,我开始使用syslog(LOG_INFO,__FILE__);。
使用 PHP,我使用以下命令重命名目录:
rename(dirname(__FILE__).'/oldDirectory', dirname(__FILE__).'/newDirectory');
然后我的脚本使用 JS 重定向到使用 window.location 的新 URL。下次打到服务器时,syslog(LOG_INFO,__FILE__); 依然显示旧目录!
使用 Bash 命令行,我看到目录名称已更改。
我使用vi编辑文件,什么都不做,然后保存,然后__FILE__显示正确的目录。
我尝试过制作一个简单的脚本(没有 JS 重定向、几个 includes() 等),但似乎无法复制该行为。我认为这在早期的 PHP 版本中不会发生,但它可能是我添加的其他内容。也许与缓存有关?抱歉信息不足,但我很难过!
【问题讨论】:
-
您可能想阅读this 以了解
__FILE__的实际工作原理 -
@MarkBaker。谢谢马克。我已经多次阅读该帖子,但仍然感到困惑。好的,FILE 在解析器时被评估。我不知道这如何导致我的问题。请提供任何其他提示或建议。谢谢你
标签: php linux caching rename file-permissions