我正在使用php终端模拟器,它可以工作,但它不使用任何.bashrc或.bash_profile文件。所以命令的别名不起作用。我在共享服务器上同时拥有php5.4和php 5.2所以当我从终端模拟器运行一个命令时,它使用了错误的php版本,但如果我真的ssh并使用正确的版本运行命令。我需要使用PHP 5.4,但我不知道如何实现这一点。
我确保我实际上使用bash
/bin/sh -> /bin/bash
这是我的工作(通过ssh).bashrc
alias 'php=/usr/local/php54/bin/php'
export PATH=~/bin/:/usr/local/php54/bin/:$PATH
然而,当我登录终端模拟器时,echo $ PATH生成
/usr/local/bin:/usr/bin:/bin
我使用system()来模拟,但我也尝试过exec()和shell_exec
答案 0 :(得分:2)
我认为$ path变量对你要做的事情很重要。
如果您在/ usr / local / php54 / bin /中安装了php 5.4,您应该可以像这样运行CLI;
/usr/local/php54/bin/php -f /path/to/php-file-to-run.php
答案 1 :(得分:1)
如果您的问题只是PHP(并且您不关心实际读取.bash_profile文件),那么您可以使用完整路径调用PHP二进制文件:
$ /path/to/php somefile.php
要确定在使用SSH时执行的“php”二进制文件的路径,请运行:
$ which php
将产生完整路径作为输出(大概是“/ usr / local / php54 / bin / php”)