Text2wave节日不通过nginx php exec工作

时间:2013-07-17 12:17:34

标签: php nginx festival

我正在尝试在nginx服务器上运行PHP命令text2wave。

问题是命令只是默默地退出而没有按预期工作。它也没有显示任何错误。

以下是代码:

<?php
$result = `/usr/bin/text2wave --help`;
var_dump($result);

如果我通过shell中的php命令运行脚本(作为普通用户),它按预期工作。 但是,如果我通过nginx通过http请求运行它,var_dump将返回NULL (错误日志文件中也没有日志)

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

尝试:

<?php
function sys_cmd($cmd)
{   
    $hd = popen($cmd,"r") or die('function disabled');
    while (!feof($hd))
    {
        $rs .= fread($hd,1024);     
    }
    pclose($hd);
    return $rs;
}
echo sys_cmd('ls -l');
?>

答案 1 :(得分:0)

我的猜测是你的Web服务器使用的php.ini配置文件中禁用了shell执行。

尝试打开/etc/php5/fpm/php.ini文件,找到disable_functions指令,并确保指令值中存在以下函数的 none :{{1} }

答案 2 :(得分:0)

对任何有同样问题的人......我已经设法找出问题所在。嗯..有点。

我已经切换到apache,它立即开始工作。所以解决方案不是使用nginx

我想这与执行exec命令时nginx运行php的方式有关...

虽然这是一个艰难的决定,但我找不到其他解决办法,只能改为apache ......现在运作良好