실행할 때 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 디렉토리에서 drush를 실행하고 있습니까?
No 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

Drupal 디렉토리에서 실행할 때와 그렇지 않은 경우에 발생합니다. 그럼에도 불구하고, 이것이 Drush가 일반적으로 설치를 찾지 못하는 것에 반응하는 방식이라고 생각하지 않습니다. 다른 버전은 정상적으로 종료되었습니다.
Richard of Essex

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 (Ubuntu 14.04에서 phpbrew를 사용하여 php를 설치 한 다음 버전 5.3.29로 전환)이 있습니다. 명령을 실행하면 drush status경고 메시지가 표시됩니다. 경고 : 'json'모듈이 0 행의 알 수없는 상태로 이미로드되었습니다. 구문 분석 오류 : 구문 오류, phar : /// usr / local / bin / drush / includes / startup의 예기치 않은 '[' 63 행의 inc 구문 분석 오류 : 구문 오류, 63 행의 phar : ///usr/local/bin/drush/includes/startup.inc에서 예기치 않은 '['
Niladri Sarkar

0

시스템에 둘 이상의 PHP 버전이 설치되어 있으면 .bashrc 또는 .bash_profile 또는 /etc/profile.d/global_aliases.sh (또는 별명을 정의 할 수있는 시스템의 일부)에서 별명을 정의 할 수 있습니다. 별명은 적절한 PHP 버전으로 drush를 실행할 것입니다.

예를 들어 플 리스크 시스템에서는 다음과 같은 작업을 수행 할 수 있습니다.

alias drush='/opt/plesk/php/5.6/bin/php /usr/local/drush'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.