Я решил запустить быструю установку OpenCart сегодня, используя бланк Homestead vagrant с 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", появляется здесь ранее в этом файле. Это как если бы оно было переписано поверх более позднего кода, что делает этот файл непригодным для использования. Вот полный файл.
Если я удаляю скопированные строки или заменяю их каким-либо другим кодом, вещи появляются в бродячей версии. Но если я удаляю только несколько строк, остальные все равно перезаписывают более поздний код.
Кто-нибудь знает, что является причиной или как ее решить?