搞乱了 vagrant smb 共享文件中的文件内容

Messed up file contents in vagrant smb shared file

我今天决定在我的 Windows 10 机器上使用 Homestead vagrant box 和 Hyper-V 快速安装 OpenCart,我已经在 [=30= 中像这样映射了我的 opencart 文件夹]:

- map: D:\web\www\oc\oc-3.0.2.0
  to: /home/vagrant/code/opencart
  type: "smb"

一切顺利。该文件夹已按预期同步到 vagrant VM 中。但是在尝试安装 OpenCart 时,我得到了这个解析错误:

PHP Parse error:  syntax error, unexpected ''] == '' (T_CONSTANT_ENCAPSED_STRING) in /home/vagrant/code/opencart/upload/system/startup.php on line 93

在我的主机上查看该文件的第 92-94 行:

require_once(modification(DIR_SYSTEM . 'engine/event.php'));
require_once(modification(DIR_SYSTEM . 'engine/router.php'));
require_once(modification(DIR_SYSTEM . 'engine/loader.php'));

在 vagrant 中查看同步文件中的相同行:

 require_once(modification(DIR_SYSTEM . 'engine/event.php'));
 requirePROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
        $_SERVER['HTTPS'] = true;

替换此处 "require_once" 代码的此代码在此文件中较早出现。就好像它被后来的代码重新复制了一样,使这个文件无法使用。 Here's the full file.

如果我删除复制的行或用其他代码替换它们,在 vagrant 版本中会出现 find。但是如果我只删除几行,其余的仍然会覆盖后面的代码。

有谁知道是什么原因造成的或如何解决?

事实证明这与 Homestead 和 OpenCart 无关。我启动了另一个 vagrant 项目,发现同步文件存在类似问题。

我最近为 Windows 安装了 Docker 来玩玩,所以我决定卸载它,看看是否能解决问题。确实如此。

所以不知何故,Vagrant 和 Docker 在 Windows 10 上相处不融洽。虽然不知道确切的问题出在哪里。