我已经在 xampp ( ubuntu ) 下执行了这个脚本,它工作正常。但是当我尝试在 Windows 下执行它时,它没有给我任何错误,但也没有输出。
<?
$command='ls -l';
$output = shell_exec($command);
echo $output;
?>
PHP 不在保存模式下运行。问题是什么 ?它取决于操作系统吗?
我已经在 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你可以运行dir
这可能会有所帮助:
<?
$command=substr(PHP_OS, 0, 3)=='WIN'?'dir':'ls -l';
$output = shell_exec("{$command} 2>&1");
echo $output;
?>