如果在php脚本的实例运行时编辑该脚本,会发生什么情况?

如果在php脚本的实例运行时编辑该脚本,会发生什么情况?,php,apache,Php,Apache,当您在服务器上覆盖某个正在处理的php文件(比如,通过SFTP)时(可能是一个需要几秒钟才能完成的脚本),它会取消当前正在运行的脚本,还是即使在覆盖发生后也会结束?我想我是在问:apache在执行php脚本之前是否会将其加载到内存中(在执行期间是否会将其保存在内存中) apache是否在执行php脚本之前将其加载到内存中(并且在执行期间是否将其保留在内存中) 是的。什么都没有。脚本已以编译状态加载到内存中-无论需要多长时间,web服务器都不会加载新文件,除非您刷新页面。取决于您的平台。Windo

当您在服务器上覆盖某个正在处理的php文件(比如,通过SFTP)时(可能是一个需要几秒钟才能完成的脚本),它会取消当前正在运行的脚本,还是即使在覆盖发生后也会结束?我想我是在问:apache在执行php脚本之前是否会将其加载到内存中(在执行期间是否会将其保存在内存中)

apache是否在执行php脚本之前将其加载到内存中(并且在执行期间是否将其保留在内存中)


是的。

什么都没有。脚本已以编译状态加载到内存中-无论需要多长时间,web服务器都不会加载新文件,除非您刷新页面。

取决于您的平台。Windows倾向于锁定正在使用/正在执行的文件。Unix ish平台更为宽松,允许您在使用文件时删除/替换文件,但只有“新”进程才能看到新文件,并且已经执行的进程将继续使用现在不可见的旧文件。这还取决于您的服务器是否启用了APC缓存及其TTL和垃圾收集设置。然后,如果您落后于具有额外缓存的负载平衡器,则可能存在延迟。但在大多数情况下,是的,它是缓存的,不应该通过就地编辑而产生任何效果。从技术上讲,文本编辑器也会将文件放入内存,直到写入磁盘。如果脚本通过命令行运行,该怎么办?我猜在执行期间它仍然会被加载到内存中?