首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从php运行lame

从php运行lame
EN

Stack Overflow用户
提问于 2010-05-18 01:20:07
回答 4查看 3.8K关注 0票数 2

我正试着从一个php脚本运行lame。

我已经试过了,但是没有运气,我没有得到任何退货!有什么想法吗?

代码语言:javascript
复制
system('lame', $returnarr);
system('lame --help', $returnarr);
exec('lame', $returnarr);
passthru('lame', $returnarr);

即使这一条也不返回任何内容:

代码语言:javascript
复制
exec('which lame', $returnarr);

我在OSX上,最终的部署将在Linux上进行。你对自动wav->mp3转换有更好的建议吗?在php中,我应该执行一个执行Lame的bash脚本吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-18 01:43:29

尝试如下所示:

代码语言:javascript
复制
$output = array();
$result = -1;
exec('`/usr/bin/which lame` --help 2>&1', $output, $result);
var_dump($output, $result);

$output应该是输出中包含的行数组

$result应为整数结果代码。0通常表示成功,>=1表示错误(具体代码取决于应用程序)。

2>&1部件会将STDERR重定向到通常会被删除的STDOUT ($output)。因此,如果它出错了,您应该能够看到错误(希望如此)。

如果$result的转储结果为-1,则存在基本问题,因为这不是有效的结果代码(这可能意味着exec被禁用,或者您试图运行的进程由于权限错误或诸如此类的原因受到限制)。

票数 4
EN

Stack Overflow用户

发布于 2015-01-09 11:58:29

如果您觉得需要更方便的方式来使用lame,我建议您使用phplame包装器。使用Composer安装PHP LAME包装器:

代码语言:javascript
复制
{
    "require": {
        "b-b3rn4rd/phplame": "dev-master"
    }
}
票数 3
EN

Stack Overflow用户

发布于 2010-05-18 01:23:32

设置错误报告并检查你是否可以执行exec。默认情况下,大多数系统都不允许这样做,这是一个严重的安全隐患。您必须显式地允许php.ini中的execs。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2851200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档