求助:php运行linux命令行的问题

在php下我现在需要执行linux命令行,如我先要cd到一个目录下,比如cd/usr/local然后再在该目录下执行一个echo"string";的一个操作。我现在用的s... 在php下我现在需要执行linux命令行,如我先要cd到一个目录下,比如cd /usr/local然后再在该目录下执行一个echo "string";的一个操作。我现在用的system函数,我用system("cd /usr/local/")然后再执行system("echo 'string'")发现不能得到预期的运行的结果;
后来我尝试了下两个命令行的连接,比如 system("cd /usr/local/");然后再执行system("ls", $callback)发现得到的是当前的目录底下的文件,而不是 "/usr/local/"底下的,这个问题该如何解决?
我刚用了linux的系统调用,先用chdir(),改变一下目录,然后再执行system("string");就可以解决了,虽然有点麻烦,不过还是可以实现,谢谢两位了。
展开
 我来答
阳光上的桥
2010-09-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
cd是没用的,因为多个system语句执行的时候,PHP是分别调用shell,每次的环境都要初始化,解决的方法是PHP生成一个shell文件,然后执行它,例如:
file_put_countents('tmp.sh',"cd /usr/local
echo 'string'
ls $callback");
system('tmp.sh');

注意:多条命令可以直接使用换行。
liweixixihaha
2010-09-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
使用 exec 这个方法试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式