Я решил запустить быструю установку OpenCart сегодня, используя бродячий ящик Homestead с Hyper-V на моем компьютере с Windows 10, и у меня есть моя папка opencart, сопоставленная следующим образом в Homestead.yml:
- map: D:\web\www\oc\oc-3.0.2.0
to: /home/vagrant/code/opencart
type: "smb"
Все хорошо. Папка синхронизируется с бродячей виртуальной машиной, как и ожидалось. Но при попытке установить 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" здесь, появляется ранее в этом файле. Это как если бы он был скопирован поверх более позднего кода, что сделало этот файл непригодным для использования. Вот полный файл.
Если я удаляю скопированные строки или заменяю их другим кодом, в бродячей версии появляются вещи. Но если я удалю только пару строк, остальные все равно перезапишут более поздний код.
Кто-нибудь знает, что вызывает это или как это решить?
Оказывается, это не имело ничего общего с Homestead или OpenCart. Я открыл еще один бродячий проект и заметил похожие проблемы с синхронизированными файлами.
Я недавно установил Докер для Windows, чтобы поиграть, поэтому решил удалить его и посмотреть, решит ли это проблему. Так оно и было.
Так что где-то как-то Vagrant и Docker не ладят в Windows 10. Однако я не знаю, в чем именно проблема.
У меня похожие проблемы с общими папками vagrant и SMB. В некоторых случаях Zip / Unzip, похоже, не работает, и при редактировании файлов написанное содержимое выглядит иначе, чем то, что я пытался сохранить ... Дело в том, что мне нужно использовать докер в этой виртуальной машине, а докер внутри докера не усердно работать