发送多行linux到PHP exec()

我试图用exec()处理多个unix调用,但第一个命令似乎对第二个命令没有影响:

 exec('cd ../my/new/directory/'); echo exec('pwd')' //directory the PHP is in. not the new directory/ 

这里的交易是什么?

当你调用PHP的exec() ,PHP会fork一个新的进程,而exec (Unix系统调用)的cd命令。 父进程(PHP)将wait子进程完成。

因此, cd 只在子进程中生效 。 在cd返回后,您的父进程(PHP)处于与之前相同的状态。

结合然后与'分开'; 定义语句的结尾$ x = shell_exec('cd ../my/new/directory/;pwd'); echo $ x;