好的,
我做了一些创造性的搜索,但似乎遇到了瓶颈。
我正在尝试使用 Linux 程序 "sox"。 我想从我的 PHP 脚本中调用它。 如果我在命令行中使用该命令,则脚本可以正常工作。 但是,当我使用 PHP exec 时,它不起作用。
例如:
sox file1.mp3 file2.mp3 tempfile.mp3 -V3
“V3”指定详细输出。
在命令行中以“用户X”或root身份执行时,我能够创建新文件。但是,当我以以下命令执行时:
<?php
exec('sox file1.mp3 file2.mp3 tempfile.mp3 -V3', $output);
foreach($output as $line){
print $line;
}
它没有生成新文件。此外,应该返回命令结果的数组为空。
我已经用简单的文本进行了测试。
exec(ls,$output);
我通过使用PHP命令get_current_user()
获取到了根目录的内容。
然而,当我使用Linux命令whoami
时,发现它将当前用户视为“apache”。我需要给apache使用该程序的权限吗?
我将继续在网上搜索并进行尝试来找出我的错误。感谢任何帮助。
澄清
- 我不在安全模式下(我已经检查过phpinfo()页面)