exec应该可以的,但是根据命令特征你可能需要结合使用sleep方法,例如:exec('D:');sleep(1);exec('cd D:\\path\\path', $cmd); //反斜杠要转义哦sleep(1);if (! empty($cmd)) {//$cmd 保存的是命令执行后的屏幕输出,针对cd这条命令,如果有输出肯定是错误信息die($cmd);}exec('xelatex test.tex', $cmd);