Tôi đang chạy Drush trên một máy chủ có cài đặt nhiều phiên bản PHP. Theo mặc định, php --version
sẽ cung cấp cho bạn 5.2.x, nhưng php53 và php54 cũng có sẵn. Vì vậy, trong .bash_profile của tôi, tôi có alias php='php53'
( php --version
= 5.3.13), điều này làm cho Drush hoạt động đối với một số lệnh.
Tuy nhiên, tôi vẫn nhận được "Cài đặt PHP dòng lệnh của bạn quá cũ. Drush yêu cầu ít nhất PHP 5.3.2" thông báo cho một số lệnh rất hữu ích.
Một vài trường hợp thực sự khó chịu:
drush pm-update
sẽ báo cáo rằng nó đã sao lưu và sau đó cập nhật tất cả các mô-đun và lõi thành công, sau đó trả về lỗi phiên bản PHP và khôi phục tất cả các bản sao lưu. Trong chế độ dài dòng, lệnh xuất hiện trước lỗi là:php /home/[username]/drush/drush.php --backend=2 --verbose --root=/home/[username]/webapps/drup --uri=http://[domain name] pm-updatecode-postupdate 2>&1
drush archive-dump
sẽ ngay lập tức trả về lỗi phiên bản PHP
Các lệnh khác tôi đã thử cho đến nay hoạt động tốt. Tôi không chắc tại sao điều này lại xảy ra, nếu Drush đôi khi sử dụng nhị phân php53, nhưng lần khác thì không, hoặc nếu nó gặp sự cố khi phát hiện phiên bản chính xác, nhưng một số tính năng rất quan trọng đã bị hỏng đối với tôi.
export DRUSH_PHP=php53
. Một giải pháp khác là đảm bảo rằng php53 xuất hiện trong PATH của bạn trước bất kỳ PHP nào khác khi chạy Drush.