30 июля 2015 г. 5 правок с 30 мая 2015 г.
http://fncy.ru/deprecation-notice:-composer
При использовании php в командной строке (ssh) по умолчанию может стоять старая версия. При обновлении composer:
user@server:~/site.ru/basic$ php composer.phar update
выскакивают ошибки:
PHP Parse error: syntax error, unexpected '[' in /home/r/user/site.ru/basic/vendor/yiisoft/yii2-composer/Installer.php on line 80 Parse error: syntax error, unexpected '[' in /home/r/user/site.ru/basic/vendor/yiisoft/yii2-composer/Installer.php on line 80
Из-за того, что старые версии php не могут обрабатывать массивы в виде квадратных скобок:
$array = ['foo' => 'bar'];
Решается это обращением к php конкретной версией, вместо php пишем полный путь /opt/php5.6/bin/php
(путь зависит от сервера, на shared хостинге можно узнать в техподдержке):
user@server:~/site.ru/basic$ /opt/php5.6/bin/php composer.phar update Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files user@server:~/site.ru/basic$
Готово.
Ошибка при обновлении зависимостей, не хватает памяти:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54038613 bytes) in phar:///home/user/site.ru/composer.phar/src/Composer/Util/RemoteFilesystem.php on line 247
Не знаю как у вас, но мне помогло это
user@server:~/site.ru/basic$ /opt/php5.6/bin/php -d memory_limit=-1 composer.phar update
даже на шаред хостинге!
флаг -d memory_limit=-1 снимает ограничение на выделение памяти.