ข้อผิดพลาดทางไวยากรณ์ 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

คุณกำลังใช้ drush ในไดเรกทอรี 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
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 (ติดตั้ง php โดยใช้ phpbrew บน Ubuntu 14.04 แล้วเปลี่ยนเป็นเวอร์ชั่น 5.3.29) เมื่อฉันรันคำสั่งที่drush statusฉันได้รับ: คำเตือน: โมดูล 'json' ถูกโหลดแล้วใน Unknown on line 0 ข้อผิดพลาด PHP Parse: ข้อผิดพลาดทางไวยากรณ์, ไม่คาดคิด '[' ใน phar: /// usr / local / bin / drush / include / startup inc on line 63 ข้อผิดพลาดในการแยกวิเคราะห์: ข้อผิดพลาดทางไวยากรณ์, '[' ใน phar: ///usr/local/bin/drush/includes/startup.inc ที่บรรทัด 63
Niladri Sarkar

0

หากระบบของคุณมีมากกว่าหนึ่งรุ่นติดตั้ง PHP คุณสามารถกำหนดนามแฝงของคุณใน.bashrcหรือ.bash_profileหรือ/etc/profile.d/global_aliases.sh (หรือส่วนหนึ่งของระบบของคุณที่คุณสามารถกำหนดนามแฝงใด ๆ ) นามแฝงจะรัน drush พร้อมกับเวอร์ชัน php ที่เหมาะสม

ตัวอย่างเช่นในระบบ plesk คุณสามารถทำสิ่งนี้ได้

alias drush='/opt/plesk/php/5.6/bin/php /usr/local/drush'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.