当我通过ftp(filezilla)更新php文件时,使用该文件的页面将停止工作,直到传输完成。服务器是带有nginx / php-fpm的linux,但是我在apache上也遇到了同样的问题。我发现的唯一“解决方案”是直接在服务器远程外壳上编辑php文件,然后更新内容。但这是一个非常不舒服的解决方案。有没有人有更好的解决方案?谢谢
如果通过FTP上传是正常的。最好的解决方案是使用零停机方法的Continuous Deployment Service。
Continuous deployment without downtime
但是如果您谈论一个文件。您可以只检查php文件是否存在,也可以检查上传的文件是否正确,否则可以使用该文件的旧副本。
类似这样的东西:
$file = 'uploaded.php';
$oldFile = 'uploaded_old.php';
if (file_exists($file)) {
require_once($file);
} else {
require_once($oldFile);
}