我在装有多个PHP版本的主机上运行Drush。默认情况下,php --version
会给您5.2.x,但是php53和php54也可用。因此,在我的.bash_profile中,我有alias php='php53'
(php --version
= 5.3.13),这使Drush在某些命令中有效。
但是,对于一些非常有用的命令,我仍然收到“您的命令行PHP安装太旧。Drush至少需要PHP 5.3.2”消息。
几个非常烦人的实例:
drush pm-update
将报告它已备份,然后成功更新了所有模块和核心,然后返回PHP版本错误并还原所有备份。在详细模式下,错误之前出现的命令是: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
将立即返回PHP版本错误
到目前为止,我尝试过的其他命令都可以正常工作。我不确定为什么会这样,如果Drush有时使用的是php53二进制文件,而其他时候却没有,或者如果只是无法正确检测版本,那么某些非常重要的功能对我来说就坏了。
export DRUSH_PHP=php53
。另一个解决方案是确保在运行Drush时php53在您的PATH中先于其他PHP出现。