我在本地&amp ;;中拥有大量.php
个文件服务器。那些在客户端(移动应用程序)使用的所有文件作为Web服务。但是当那些文件/文件夹经过FTP修改后,当时由于文件上传过程的原因,某些Web服务在客户端停止工作或行为不端(在Web服务响应中返回HTML内容)。
当我的本地网络速度很慢并且尝试在服务器上上传文件时,有时也会遇到单个文件的问题。
我有很多实时用户,从服务器端上传文件时很少遇到此问题。
将AWS server
和FileZilla
用于FTP
。
答案 0 :(得分:1)
您面临着非原子操作的典型问题。解决方案是使操作成为原子操作,这意味着将所有文件更改为1。
为此,您拥有目录中的所有文件,可能是您的htdocs
目录。接下来,将此目录重命名为htdocs1
并创建新目录htdocs2
。最后,您创建一个符号链接htdocs
以指向htdocs1
。
现在,您可以花费所有时间将所有新文件上传到htdocs2
。完成后,您将符号链接更改为指向htdocs2
而不是htdocs1
。
最后,如果您使用某些PHP加速器,则可能需要重新加载Web服务器(或PHP-FPM),以防您遇到缓存问题。
对于您网站的下次更新,您也会这样做,只需上传到htdocs1
,然后将符号链接更改回来。
简而言之:
mv htdocs htdocs1
mkdir htdocs2
ln -sTf htdocs1 htdocs
如果要使用其他目录,只需调整最后一个命令。
如果您没有shell访问权限,您还可以编写PHP脚本来为您执行此操作,因为PHP还可以创建符号链接:http://php.net/manual/en/function.symlink.php。