Erro na sintaxe do PHP ao executar


9

Estou seguindo as instruções para instalar o Drush listadas nesta página: https://github.com/drush-ops/drush/blob/master/docs/install.md

Parece que estou recebendo um erro de sintaxe no código:

[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

Não estou vendo esse erro no Google. Alguma idéia de como consertar isso?


Qual versão do PHP você está usando?
— kiamlaluno

Você está executando drush dentro do diretório Drupal?
— Não 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 of Essex

Isso acontece quando eu corro em um diretório Drupal e quando não. Independentemente disso, eu não acho que é assim que o Drush normalmente reage ao não encontrar uma instalação. Outras versões foram encerradas normalmente.
— Richard of Essex

11
Vou adicionar para garantir que você verifique se você tem a DRUSH_PHPvariável de ambiente definida. Passei muito tempo tentando descobrir por que o drush não estava usando o php 5.6, mesmo que fosse o que estava configurado no meu caminho. Acontece que eu tinha DRUSH_PHPdefinido o meu caminho php 5.3 de muito tempo atrás. unset DRUSH_PHPcorrigiu o problema para mim.
— Utilizador

Respostas:


17

Você está usando o Drush 8, que requer uma versão mínima do PHP da 5.4.5 ( http://docs.drush.org/en/master/install/ ).

Sua versão atual (5.3) não entende a sintaxe de matriz curta, daí o erro que você está vendo.

Para corrigir, atualize o PHP ou mude para um ramo mais antigo do Drush.


Estou tendo o mesmo problema. Eu tenho o PHP 5.3.29, Drupal 6 (php instalado usando o phpbrew no Ubuntu 14.04 e depois mudei para a versão 5.3.29). Quando executo o comando drush status, recebo: Aviso: O módulo 'json' já está carregado em Desconhecido na linha 0 Erro de análise do PHP: erro de sintaxe, inesperado '[' em phar: /// usr / local / bin / drush / includes / startup. inc na linha 63 Erro de análise: erro de sintaxe, inesperado '[' em phar: ///usr/local/bin/drush/includes/startup.inc na linha 63
— Niladri Sarkar

0

Se o seu sistema possui mais de uma versão php instalada, você pode definir um alias no seu .bashrc ou .bash_profile ou /etc/profile.d/global_aliases.sh (ou em qualquer parte do seu sistema que você possa definir um alias). O alias rodaria drush com a versão php apropriada.

Por exemplo, em um sistema plesk, você provavelmente pode fazer algo assim

alias drush='/opt/plesk/php/5.6/bin/php /usr/local/drush'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.