在vagrant smb共享文件中搞砸了文件内容

时间:2018-05-01 09:34:53

标签: vagrant homestead smb docker-for-windows

我今天决定在我的Windows 10机器上使用带有Hyper-V的Homestead vagrant box来安装一个快速的OpenCart安装,并且我在Homestead.yml中将我的opencart文件夹映射为这样:

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

一切都很好。该文件夹按预期在流氓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版本中找到所有内容。但如果我只删除了几行,其余的仍会覆盖以后的代码。

有没有人知道造成这种情况的原因或解决方法是什么?

1 个答案:

答案 0 :(得分:1)

事实证明,这与Homestead和OpenCart无关。我启动了另一个流浪项目,并注意到同步文件存在类似问题。

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

所以在某个地方,不知怎的,Vagrant和Docker在Windows 10上并不相处。不知道确切问题出在哪里。