在 PHP 中重命名时没有文件?
No file while renaming in PHP?
由于 cron PHP 进程,一些临时文件被创建并重命名(使用 rename())以替换用户访问的文件。
有没有可能是用户在重命名替换页面的时候请求了一个页面,没有文件?有没有这样的"in-between time"(甚至很小)?
如果您要删除旧文件并将新文件移到原处,某些用户肯定会尝试访问不存在的文件。如果您在不删除旧文件(覆盖)的情况下重命名它,则不会 运行 出现任何问题 if you're on Linux. You are out of luck if you're on windows though。
在后一种情况下,您需要编写自己的锁定程序,例如使用 flock()
。
由于 cron PHP 进程,一些临时文件被创建并重命名(使用 rename())以替换用户访问的文件。
有没有可能是用户在重命名替换页面的时候请求了一个页面,没有文件?有没有这样的"in-between time"(甚至很小)?
如果您要删除旧文件并将新文件移到原处,某些用户肯定会尝试访问不存在的文件。如果您在不删除旧文件(覆盖)的情况下重命名它,则不会 运行 出现任何问题 if you're on Linux. You are out of luck if you're on windows though。
在后一种情况下,您需要编写自己的锁定程序,例如使用 flock()
。