有一个带有按钮的网站,按下按钮应该在一个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上的按钮激活它。
我认为这是许可问题吗?
答案 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命令的其他参数..