【发布时间】:2023-01-13 23:41:49
【问题描述】:
我在 Windows 11 中使用 PHP。我需要在 PHP exec 中执行多个命令。
我的示例代码如下:
$output=null;
$result_code=null;
exec("cd E:/Python/WordFrequency ; ipconfig", $output, $result_code);
return $result_code;
返回错误代码为 1。
但是,如果只执行一个命令,它可以正常工作:
exec("cd E:/Python/WordFrequency", $output, $result_code);
或者:
exec("ipconfig", $output, $result_code);
返回码全为0。
但是,如果将两个命令连接起来,将返回代码 1。
我努力了 ”;”替换为“&&”,和/或使用 escapeshellcmd 或 escapeshellarg 设置命令,如下所示:
exec(escapeshellcmd("cd E:/Python/WordFrequency ; ipconfig"), $output, $result_code);
但是结果是一样的,返回错误码1。
请问有什么事吗?
【问题讨论】:
-
如果您可以一个接一个地运行这两个命令,那么为什么您一定要同时运行这两个命令...?
-
@Juan 这是示例代码。当然,这两个命令可以分开执行。我只是以这段代码为例。本质上,我想知道如何同时执行多个命令。
-
我无法解决您的问题,但我总是将人们指向
proc_open而不是让您可以访问 stdout 和 stderr 之类的东西以更好地调试东西。