来自php网站的exec bash脚本,脚本没有运行

时间:2012-12-31 12:07:34

标签: php linux bash

有一个带有按钮的网站,按下按钮应该在一个bash脚本中午餐,该脚本假设要卸载目录。该按钮使用以下函数调用functions.inc php脚本:

function sftmz_release_s3test_connections($bucket_name){
    if($bucket_name == 's3test'){
        drupal_set_message('Check mount status ! - released?');
        $cmd = '/var/www/html/company/sites/default/modules/rp_minisite/admin/script.sh';
        exec($cmd);
    }
}

我的问题是:当我在shell中并运行命令时:

/var/www/html/company/sites/default/modules/rp_minisite/admin/script.sh  

工作正常。

单击按钮时,将显示测试,但不会运行脚本。我如何查看日志?我可以将日志打印到shell吗?我不能使用html上的按钮激活它。
我认为这是许可问题吗?

3 个答案:

答案 0 :(得分:1)

尝试获取有关当您致电exec时实际发生的事情的更多信息:

exec($cmd, $return, $status);
echo '<pre>';
var_dump($return);//is an array, containing the commands output
echo '</pre>';
if ($status === 0)
{//normally, if a cmd exits with 0, all is well
    echo 'Command executed';
}

如果有一些有趣的事情发生,您可能想要检查您的脚本是否依赖于环境变量/别名等设置。也许您必须加载.profile文件才能使脚本正常工作。
Here you can see how to do this

答案 1 :(得分:0)

您是否检查了exec()功能的返回值?有关详细信息,请参阅the doc

答案 2 :(得分:0)

尝试使用exec命令的其他参数..