Синтаксическая ошибка Drush PHP при запуске

9

Я следую инструкциям по установке Drush, которые перечислены на этой странице: https://github.com/drush-ops/drush/blob/master/docs/install.md

Кажется, я получаю синтаксическую ошибку в коде:

[user@localhost ~]$ wget https://github.com/drush-ops/drush/releases/download/8.0.0-rc4/drush.phar
--2015-11-16 16:23:02--  https://github.com/drush-ops/drush/releases/download/8.0.0-rc4/drush.phar
Resolving github.com (github.com)... 192.30.252.131
Connecting to github.com (github.com)|192.30.252.131|:443... connected.
HTTP request sent, awaiting response... 302 Found
2015-11-16 16:23:05 (1.47 MB/s) - drush.phar saved [3496991/3496991]

[user@localhost ~]$ php drush.phar core-status

Parse error: syntax error, unexpected '[' in phar:///home/user/drush.phar/includes/output.inc on line 188

Я не вижу эту ошибку в Google. Есть идеи как это исправить?

Ричард Эссексский
источник
Какую версию PHP вы используете?
kiamlaluno
Вы работаете в директории Drupal?
Нет Sssweat
PHP 5.3.29 (cli) (built: Nov 3 2015 15:43:40) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
Ричард Эссексский
Это происходит, когда я работаю в каталоге Drupal, а когда нет. Несмотря на это, я не думаю, что именно так Drush обычно реагирует на отсутствие установки. Другие версии изящно вышли.
Ричард Эссексский
1
Я добавлю, чтобы убедиться, что вы проверили, установлена ​​ли DRUSH_PHPпеременная окружения. Я потратил слишком много времени, пытаясь понять, почему drush не использовал php 5.6, хотя это было то, что было настроено на моем пути. Оказывается, я DRUSH_PHPустановил свой путь php 5.3 с давних времен. unset DRUSH_PHPисправил проблему для меня.
Пользователь

Ответы:

17

Вы используете Drush 8, для которого требуется минимальная версия PHP 5.4.5 ( http://docs.drush.org/en/master/install/ ).

Ваша текущая версия (5.3) не понимает синтаксис короткого массива, поэтому вы видите ошибку.

Чтобы исправить, либо обновите PHP, либо переключитесь на более старую ветку Drush.

Клайв
источник
У меня та же проблема. У меня PHP 5.3.29, Drupal 6 (установил php с помощью phpbrew в Ubuntu 14.04, а затем переключился на версию 5.3.29). Когда я запускаю команду, drush statusя получаю: Предупреждение: модуль 'json' уже загружен в Unknown в строке 0 Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданный '[' в phar: /// usr / local / bin / drush / includes / startup. inc в строке 63 Ошибка разбора: синтаксическая ошибка, неожиданный '[' в phar: ///usr/local/bin/drush/includes/startup.inc в строке 63
Niladri Sarkar
0

Если в вашей системе установлено более одной версии php, вы можете определить псевдоним в .bashrc или .bash_profile или /etc/profile.d/global_aliases.sh (или в любой части вашей системы, в которой вы можете определить псевдоним). Псевдоним будет запускаться с соответствующей версией php.

Например, в системе plesk вы можете сделать что-то подобное

alias drush='/opt/plesk/php/5.6/bin/php /usr/local/drush'
GiorgosK
источник