我已经在 xampp ( ubuntu ) 下执行了这个脚本,它工作正常。 但是当我尝试在 Windows 下执行它时,它没有给我错误,也没有输出。
<?
$command='ls -l';
$output = shell_exec($command);
echo $output;
?>
PHP 不以保存模式运行。 问题出在哪里? 是否取决于操作系统?
这是因为ls是基于Unix的命令,在Windows上不可用
不显示错误是因为shell_exec只输出 STDOUT 而不是 STDERR,如果您希望能够查看错误,您可以像这样运行命令:
$output = shell_exec("{$command} 2>&1");
这将显示一个错误,指出未找到 ls 或类似内容
在Windows而不是LS中,您可以运行目录
这可能会有所帮助:
<?
$command=substr(PHP_OS, 0, 3)=='WIN'?'dir':'ls -l';
$output = shell_exec("{$command} 2>&1");
echo $output;
?>