当我在托管面板上使用命令行时,

sox -m '|sox /home/stockchu/public_html/content/watermark_audio.mp3 -p pad 4 repeat 5' /home/stockchu/public_html/content/sound.mp3 /home/stockchu/public_html/content/sound_watermarked3.mp3

这是工作!但是当我在PHP上做同样的事情时,
$com="sox -m '|sox ".$_SERVER["DOCUMENT_ROOT"]."/content/watermark_audio.mp3 -p pad 4 repeat 5' ".$_SERVER["DOCUMENT_ROOT"]."/content/sound.mp3 ".$_SERVER["DOCUMENT_ROOT"]."/content/sound_watermarked3.mp3";
echo($com."<br>");
exec($com);

什么都没发生!

怎么了?请帮忙。

最佳答案

有几种选择:

  • 使用可执行文件的完整路径,而不仅仅是sox。您可以通过在终端
  • 中键入which sox来找到完整路径。
  • 确保您不在safe_mode
  • 中运行PHP
  • 确保PHP解释器有权运行sox。
  • 关于php - sox的音频水印在php中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26871942/

    10-11 22:26
    查看更多