无法在PHP shell_exec()中运行"cd"命令

Rya*_*yan 3 php

我最近在我大学的以太网连接上安装了我的笔记本电脑.现在我可以从任何地方连接到我的电脑,只要我有IP地址或主机名(我可以选择).现在我想创建一个基于Web的命令提示符,让我可以从任何设备上运行我的笔记本电脑上的命令.

一个问题是我无法运行"cd"命令.我有我的PHP脚本设置,因此它可以运行由换行符分隔的一系列命令.所以我运行"cd ../"然后"pwd"但它仍然在我的Web应用程序的根目录中.我该如何解决?

mar*_*rio 12

如果你这样做:

 shell_exec("cd ..");
 shell_exec("pwd");
Run Code Online (Sandbox Code Playgroud)

然后第二个命令将使用一个新的shell执行,它具有与第一个相同的起始目录,因为它是当前PHP的子进程.

使用第一个shell exec更改当前目录将不会持续到第二个.这样一系列依赖的shell命令只能通过一次执行all来工作:

 shell_exec("cd .. ; pwd");
Run Code Online (Sandbox Code Playgroud)


Zna*_*kus 10

我认为你必须改变当前进程/脚本的目录.你这样做chdir.然后你就可以跑了shell_exec.

我假设您意识到您的解决方案所带来的严重安全问题......