我决定今天在我的Windows 10机器上使用带有Hyper-V的Homestead流浪者框进行快速OpenCart安装,并在Homestead.yml中像这样映射了我的opencart文件夹:
- map: D:webwwwococ-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'));
在流浪中查看同步文件上的相同行:
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"代码,出现在此文件的前面。就好像它在以后的代码中重新复制,使此文件无法使用。这是完整文件。
如果我删除复制的行或用其他代码替换它们,则在流浪版本中会出现一些东西。但是如果我只删除几行,其余的仍然会覆盖后面的代码。
有没有人知道是什么原因造成的或如何解决它?
所以事实证明这与Homestead或OpenCart无关。我拉起了我的另一个流浪项目,并注意到同步文件的类似问题。
我最近安装了 Docker for Windows 来玩,所以我决定卸载它,看看是否能解决问题。它确实做到了。
所以在某个地方,Vagrant和Docker在Windows 10上相处得并不融洽。不过,不知道确切的问题在哪里。