Erreur de syntaxe PHP Drush lors de l'exécution

9

Je suis les instructions pour installer Drush qui sont répertoriées sur cette page: https://github.com/drush-ops/drush/blob/master/docs/install.md

Il semble que j'obtienne une erreur de syntaxe dans le code:

[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

Je ne vois pas cette erreur sur Google. Toute idée de comment résoudre ce problème?

Richard d'Essex
la source
Quelle version de PHP utilisez-vous?
kiamlaluno
Exécutez-vous drush dans le répertoire Drupal?
Pas de 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 d'Essex,
Cela arrive quand je lance dans un répertoire Drupal et quand je ne le fais pas. Quoi qu'il en soit, je ne pense pas que c'est ainsi que Drush réagit normalement en ne trouvant pas d'installation. D'autres versions ont gracieusement quitté.
Richard d'Essex,
1
Je vais ajouter pour vous assurer de vérifier si vous avez DRUSH_PHPdéfini la variable d'environnement. J'ai passé trop de temps à essayer de comprendre pourquoi drush n'utilisait pas php 5.6 même si c'était ce qui était configuré sur mon chemin. Il s'avère que j'avais DRUSH_PHPdéfini mon chemin php 5.3 depuis longtemps. unset DRUSH_PHPrésolu le problème pour moi.
Utilisateur

Réponses:

17

Vous utilisez Drush 8, qui nécessite une version PHP minimale de 5.4.5 ( http://docs.drush.org/en/master/install/ ).

Votre version actuelle (5.3) ne comprend pas la syntaxe des tableaux courts, d'où l'erreur que vous voyez.

Pour résoudre ce problème, mettez à niveau PHP ou passez à une ancienne branche de Drush.

Clive
la source
J'ai le même problème. J'ai PHP 5.3.29, Drupal 6 (installé php en utilisant phpbrew sur Ubuntu 14.04 et puis je suis passé à la version 5.3.29). Lorsque j'exécute la commande drush status, j'obtiens: Avertissement: le module 'json' est déjà chargé dans Inconnu sur la ligne 0 Erreur d'analyse PHP: erreur de syntaxe, '[' inattendu dans phar: /// usr / local / bin / drush / includes / startup. inc à la ligne 63 Erreur d'analyse: erreur de syntaxe, '[' inattendu dans phar: ///usr/local/bin/drush/includes/startup.inc à la ligne 63
Niladri Sarkar
0

Si votre système a plusieurs versions de php installées, vous pouvez définir un alias dans votre .bashrc ou .bash_profile ou /etc/profile.d/global_aliases.sh (ou n'importe quelle partie de votre système que vous pouvez définir un alias). L'alias serait exécuté avec la version php appropriée.

Par exemple, dans un système plesk, vous pouvez probablement faire quelque chose comme ça

alias drush='/opt/plesk/php/5.6/bin/php /usr/local/drush'
GiorgosK
la source