有一个带有按钮的网站,点击该按钮应该启动一个假定卸载目录的 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 上的按钮激活的...
我认为这是权限问题?
最佳答案
尝试获取有关调用 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
关于php - 来自 php 网站的 exec bash 脚本,脚本未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101394/