以下在Windows 7上本地工作正常,但现在该网站在Windows 8上并不起作用。这是在Apache Web请求中运行的:
exec('ffmpeg -i "C:\temp\testing.mp4" "C:\temp\testing.mp3"', $errors, $result);
var_dump($errors);
var_dump($result);
exit;
给出:array(0) { } int(1)
$output = exec('ffmpeg -i "C:\\temp\\testing.mp4" "C:\\temp\\testing.mp3"', $errors, $result);
var_dump($output);
var_dump($errors);
var_dump($result);
exit;
给出:string(0) "" array(0) { } int(1)
但如果我在任何目录的命令窗口中执行文本C:\temp\testing.mp4" "C:\temp\testing.mp3
(PATH设置为ffmpeg),它可以正常工作。
我将c:\temp
的权限设置为完全控制所有用户,但仍未创建MP3文件。为什么此语句不在Windows 8中执行,而是在Windows 7中执行?如何找到有关为何不创建MP3文件的更多信息?
有趣的是,这有效:
exec('copy "C:\\temp\\testing.mp4" "C:\\temp\\testing.mp3"', $result);
var_dump($result);
和产量:
array(1) { [0]=> string(30) " 1 file(s) copied." }
答案 0 :(得分:1)
我找到了答案:
编辑环境路径变量后,重新启动Apache ,使其在PHP中生效。