【问题标题】:FFMPEG works in command line but not in exec(), it returns 127FFMPEG 在命令行中有效,但在 exec() 中无效,它返回 127
【发布时间】:2013-01-18 16:15:49
【问题描述】:

命令是

ffmpeg -i path/to/video.avi path/to/video.mpg

它在命令行中运行良好。但是,当我用 PHPs exec() 调用它时,返回值为 127,它似乎没有检测到 FFMPEG。我究竟做错了什么?我在本地主机中并且安全模式已关闭,但我对 FFMPEG 和 exec() 都是新手,所以这可能是一个菜鸟错误。提前致谢。

【问题讨论】:

  • exec 已启用?安全模式?你检查过 apache 日志吗?
  • 如果你exec() /usr/bin/ffmpeg 怎么办?
  • 使用 ffmpeg 的完整路径 - 运行 PHP 的任何帐户显然都没有它。
  • 路径问题?权限问题?
  • 这是一个路径问题,谢谢大家。

标签: php ffmpeg exec


【解决方案1】:

试试

exec(/path/to/ffmpeg -i path/to/video.avi path/to/video.mpg);

【讨论】:

  • 就是这样!路径是/usr/local/bin/ffmpeg(我有 Mac OSX Lion)。非常感谢。
  • 没问题。通常,当您在使用 exec() 时收到 127 代码时,这意味着 PHP 找不到您要调用的程序。
【解决方案2】:

您是否将您的 ffmpeg 命令注册为 Linux / Windows 中的 PATH 环境变量????似乎您没有将其设置为 PATH 变量,这就是为什么您必须包含 FFMPEG 命令的完整路径以便它为您工作。

【讨论】:

    猜你喜欢
    • 2020-07-08
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2017-08-17
    • 2021-11-13
    • 2017-03-26
    相关资源
    最近更新 更多