Я бегу Ubuntu 16.04
, PHP 7.2.29
и Composer 1.10.5
. Я пытаюсь обновить composer update
, но когда он начинает обновляться, перечисленные пакеты в конечном итоге попадают в пакеты, которые имеют конечные запятые в массивах, и это начинает сбрасывать синтаксические ошибки .
PHP Parse error: syntax error, unexpected '' => ' (T_ENCAPSED_AND_WHITESPACE) in /var/www/vendor/yiisoft/extensions.php on line 52
Я пытался исправить эти ошибки непосредственно в пакетах (каталог поставщиков), и это позволяет мне двигаться вперед ... за исключением того, что ошибки никогда не прекращаются! (Обновление: я знаю, что это не ' t рекомендуется, это было сделано только для целей тестирования)
Образцы (обновление):
Это примеры файлов поставщика, которые отбрасывают эту синтаксическую ошибку. Во всех этих (и более) в качестве причины указываются последние строки файлов массива. Если я удаляю концевые запятые, происходит ошибка при поиске следующего файла вендора, который содержит концевые запятые.
Образец из /vendors/yiisoft/extensions.php
'creocoder/yii2-nested-sets' =>
array (
'name' => 'creocoder/yii2-nested-sets',
'version' => '0.9.0.0',
'alias' =>
array (
'@creocoder/nestedsets' => $vendorDir . '/creocoder/yii2-nested-sets/src',
),
),
);
Образец из /vendors/composer/autoload_classmap.php
'yii\\widgets\\Pjax' => $vendorDir . '/yiisoft/yii2/widgets/Pjax.php',
'yii\\widgets\\PjaxAsset' => $vendorDir . '/yiisoft/yii2/widgets/PjaxAsset.php',
'yii\\widgets\\Spaceless' => $vendorDir . '/yiisoft/yii2/widgets/Spaceless.php',
);
Пример из /vendors/composer/autoload_namespaces.php
'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
'DaveChild\\TextStatistics' => array($vendorDir . '/davechild/textstatistics/src'),
'' => array($vendorDir . '/mofodojodino/profanity-filter/src'),
);
Насколько я понимаю, запятые - довольно распространенная практика, которая не должна вызывать проблем в PHP.
Кто-нибудь может сказать мне, что происходит или где я мог бы посмотреть дальше?
Дополнительные детали
Я думаю, что устанавливаемые пакеты не должны иметь значения, так как это, кажется, PHP общая ошибка, но на всякий случай это ЕСТЬ для более старой версии Craft CMS 3.0.34
, работающей на Yii 2.0.15.1
. Я работаю над обновлением этой версии, но не могу из-за этих проблем. Однако пакеты, отбрасывающие ошибки, различаются ... Я имею в виду ... Я отредактировал файлы ~ 6 разных поставщиков, прежде чем бросить эту глупую битву.
Обновление
После получения некоторых отзывов Я обнаружил, что при запуске той же установки на облачном сервере проблема не описана. Указывая на то, что каким-то образом запуск этого на установке VirtualBox / Vagrant вызывал его.