Saya menjalankan Drush pada host yang memiliki beberapa versi PHP diinstal. Secara default, php --version
akan memberi Anda 5.2.x, tetapi php53 dan php54 juga tersedia. Jadi di .bash_profile saya, saya punya alias php='php53'
( php --version
= 5.3.13), yang membuat Drush berfungsi untuk beberapa perintah.
Namun, saya masih mendapatkan "Instalasi PHP baris perintah Anda terlalu tua. Drush memerlukan setidaknya PHP 5.3.2" pesan untuk beberapa perintah yang sangat berguna.
Beberapa contoh yang sangat menyebalkan:
drush pm-update
akan melaporkan bahwa ia telah membuat cadangan dan kemudian berhasil memperbarui semua modul dan inti, lalu mengembalikan kesalahan versi PHP dan memulihkan semua cadangan. Dalam mode verbose, perintah yang datang sebelum kesalahan adalah: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
akan segera mengembalikan kesalahan versi PHP
Perintah lain yang saya coba sejauh ini berfungsi dengan baik. Saya tidak yakin mengapa ini terjadi, jika Drush kadang-kadang menggunakan biner php53, dan kadang-kadang tidak, atau jika hanya mengalami kesulitan mendeteksi versi dengan benar, tetapi beberapa fitur yang sangat penting rusak bagi saya.
export DRUSH_PHP=php53
. Solusi lain adalah memastikan bahwa php53 muncul di PATH Anda sebelum PHP lain saat menjalankan Drush.source .bash_profile
untuk efek langsungInilah solusi lain:
Buat tautan simbolis ke versi php yang diinginkan (php5.4 dalam kasus saya) ln -s / usr / local / bin / php54 ~ / bin / php
kita perlu mengubah prioritas ~ / bin dalam $ PATH sehingga muncul sebelum / usr / local / bin (di mana penerjemah php asli duduk) menemukan ~ / -name .bash_profile | xargs sed -i / \ $ PATH: \ $ HOME / bin / \ $ HOME / bin: \ $ PATH / g '
memuat kembali .bash_profile source ~ / .bash_profile
bersumber dari: http://webiga.com/2013/06/22/change-default-version-of-php-at-webfaction/
sumber
Saya baru saja mengalami ini setelah memutakhirkan Drush pada Windows. Server memiliki versi PHP yang lebih lama berjalan dan tidak mengambil versi PHP yang menyertai Drush.
Saya dapat memperbaikinya dengan menentukan path ke php.exe di file drush.bat, yang terletak di
c: \ dokumen dan pengaturan \ semua pengguna \ data aplikasi \ drush \ drush.bat
Saya baru saja menambahkan path lengkap ke PHP dengan mengubah baris ini:
@ php.exe "% ~ dp0drush.php" --php = "php.exe"% * untuk ini:
@ "c: \ file program \ drush \ php \ php.exe" "% ~ dp0drush.php" --php = "php.exe"% *
sumber
Masalahnya bagi saya adalah bahwa drush tidak bekerja dengan versi PHP yang benar, saya pikir masalahnya adalah menggunakan PHP 7, dan saya membutuhkan PHP 5.6. Jadi saya berlari di konsol:
Dan hasilnya adalah (lihat jalur PHP untuk 5.6):
Kemudian saya pergi ke file ~ / .bashrc saya dan menambahkan satu baris yang menetapkan path PHP untuk drush (dan menyimpan):
Kemudian saya memperbarui .bashrc dengan yang berikut (jangan lewatkan titik di awal perintah):
Dan itu dia! Semoga itu bisa membantu!
sumber
Dengan asumsi Anda menginstal drush dengan komposer dan Anda ingin menjalankan perintah Anda menggunakan php 7 (ini juga berfungsi untuk acquia cloud envs)
/usr/local/php7.1/bin/php ../vendor/drush/drush/drush.php --php = / usr / local / php7.1 / bin / php [your_drush_command_here]
sumber