Błąd składni PHP Drush podczas działania

9

Postępuję zgodnie z instrukcjami, aby zainstalować Drush, które są wymienione na tej stronie: https://github.com/drush-ops/drush/blob/master/docs/install.md

Wydaje mi się, że pojawia się błąd składniowy w kodzie:

[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

Nie widzę tego błędu w Google. Masz pomysł, jak to naprawić?

Richard z Essex
źródło
Z jakiej wersji PHP korzystasz?
kiamlaluno
Czy korzystasz z drusha w katalogu Drupal?
Bez 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
Richard z Essex,
Zdarza się to, gdy uruchamiam w katalogu Drupal, a kiedy nie. Niezależnie od tego, nie sądzę, że w ten sposób Drush normalnie reaguje na nie znalezienie instalacji. Inne wersje z wdziękiem wyszły.
Richard z Essex,
1
Dodam, aby upewnić się, czy masz DRUSH_PHPustawioną zmienną środowiskową. Spędziłem zbyt długo próbując dowiedzieć się, dlaczego drush nie używał php 5.6, mimo że tak właśnie skonfigurowałem na mojej ścieżce. Okazuje się, że już DRUSH_PHPdawno ustawiłem ścieżkę php 5.3. unset DRUSH_PHPnaprawiono problem dla mnie.
Użytkownik

Odpowiedzi:

17

Używasz Drush 8, który wymaga minimalnej wersji PHP 5.4.5 ( http://docs.drush.org/en/master/install/ ).

Twoja aktualna wersja (5.3) nie rozumie składni krótkiej tablicy, stąd pojawia się błąd.

Aby to naprawić, zaktualizuj PHP lub przejdź do starszej gałęzi Drush.

Clive
źródło
Mam ten sam problem. Mam PHP 5.3.29, Drupal 6 (zainstalowany php przy użyciu phpbrew na Ubuntu 14.04, a następnie przełączyłem się na wersję 5.3.29). Kiedy uruchamiam polecenie drush status, otrzymuję: Ostrzeżenie: Moduł „json” jest już załadowany w Nieznany w linii 0 Błąd analizy składni PHP: błąd składni, nieoczekiwany „[” w phar: /// usr / local / bin / drush / include / startup. inc on line 63 Błąd analizy: błąd składni, nieoczekiwany „[” w phar: ///usr/local/bin/drush/includes/startup.inc w linii 63
Niladri Sarkar
0

Jeśli w systemie jest zainstalowanych więcej niż jedna wersja php, możesz zdefiniować alias w pliku .bashrc lub .bash_profile lub /etc/profile.d/global_aliases.sh (lub dowolną część systemu, w której możesz zdefiniować alias). Alias ​​działałby drush z odpowiednią wersją php.

Na przykład w systemie plesk prawdopodobnie możesz zrobić coś takiego

alias drush='/opt/plesk/php/5.6/bin/php /usr/local/drush'
GiorgosK
źródło