如果文件中的字符被修改,NFS 不会同步文件

Posted

技术标签:

【中文标题】如果文件中的字符被修改,NFS 不会同步文件【英文标题】:NFS doesn't sync files if characters are modified in a file 【发布时间】:2015-03-25 02:05:20 【问题描述】:

我的 vagrant 设置有一个奇怪的问题:更改文件中的字符并保存它并不能反映 vm 中的更改。但如果我添加/删除一些字符或添加一些空白链接,一切正常。

我已经检查了我是否在我的 php5.5 上启用了 opcache 并且 "php -i | grep opcache" 得到任何结果......所以我想它是没有。

已经测试过另一个 vagrant (1.7.2) 版本,结果相同。

我的配置是:

Windows 7 专业版 带有插件WinNFSd的Vagrant 1.6.3 VirtualBox 4.3.12 Centos6.5 盒子 PHP 5.5.19 Apache 2.4.10 PhpStorm 8(但问题与 SublimeText 3 和 Notepad++ 相同)

这是我为您展示问题的测试视频: https://www.dropbox.com/s/k70fiwfw6mopjs7/2015-03-24%2020-47-07.mp4?dl=0

我在这个问题上工作了两周,这会让我发疯...... 我已经尝试过 Rsync 和 Samba 或默认的 vagrant 同步文件夹,但它不能满足我的需求。

非常感谢你们的帮助!

【问题讨论】:

我在 Mac 上遇到了同样的问题。 【参考方案1】:

sublime 的问题是 atomic_save 设置为 true。不确定是否有 PHPStorm/Notepad++ 的等效设置

https://github.com/mitchellh/vagrant/issues/3888

【讨论】:

以上是关于如果文件中的字符被修改,NFS 不会同步文件的主要内容,如果未能解决你的问题,请参考以下文章

忽略使用 NFS 作为 Vagrant 同步系统的同步文件夹文件/目录

NFS+inotify实时同步

nfs存储服务实时同步

DNS主从同步部署

加快 Vagrant 上主机和来宾之间的同步延迟(NFS 同步文件夹)

file_put_contents 是不是与 NFS 同步