繁体   English   中英

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

[英]exec bash script from php website, script not running

有一个带有按钮的网站,单击该按钮应该吃掉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);
    }
}

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

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

工作正常。

当我单击按钮时,将显示测试,但它不会运行脚本。 我如何查看日志? 我可以将日志打印到外壳上吗? 我无法使用它,因为它是使用html上的按钮激活的...
我认为这是权限问题?

尝试获取更多有关调用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文件才能使脚本正常工作。
在这里您可以看到如何执行此操作

您是否检查了exec()函数的返回值? 有关更多信息,请参阅文档

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM