php 函数 pcntl_exec("/bin/sh", "/bin/sh")
php function pcntl_exec("/bin/sh", "/bin/sh")
根据 php manual,函数 pcntl_exec
等于系统调用 execve
。
所以我认为
pcntl_exec("/bin/sh", ["/bin/sh"]);
应该做同样的事情:
#!/bin/sh
/bin/sh
然而我得到的结果是:# /bin/sh: 1: Syntax error: ")" unexpected
为什么?
php版本7.4.3(cli) Zend Engine v3.4.0
这是不正确的:
should do the same thing like:
#!/bin/sh
/bin/sh
它等同于 运行 命令 /bin/sh /bin/sh
将尝试将 /bin/sh
解释为 shell 脚本。
你想要的实际等价物是:
pcntl_exec("/bin/sh", ["-c", "/bin/sh"]);
根据 php manual,函数 pcntl_exec
等于系统调用 execve
。
所以我认为
pcntl_exec("/bin/sh", ["/bin/sh"]);
应该做同样的事情:
#!/bin/sh
/bin/sh
然而我得到的结果是:# /bin/sh: 1: Syntax error: ")" unexpected
为什么?
php版本7.4.3(cli) Zend Engine v3.4.0
这是不正确的:
should do the same thing like:
#!/bin/sh /bin/sh
它等同于 运行 命令 /bin/sh /bin/sh
将尝试将 /bin/sh
解释为 shell 脚本。
你想要的实际等价物是:
pcntl_exec("/bin/sh", ["-c", "/bin/sh"]);