0

有一个带有按钮的网站,单击该按钮应该会启动一个假设卸载目录的 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 上的按钮激活的...
我认为这是权限问题?

4

3 回答 3

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文件才能使脚本工作。
在这里你可以看到如何做到这一点

于 2012-12-31T12:14:15.880 回答
0

你检查过exec()函数的返回值吗?有关更多信息,请参阅文档

于 2012-12-31T12:09:28.127 回答
0

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

于 2012-12-31T12:09:35.930 回答