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

标签 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 上的按钮激活的...
我认为这是权限问题?

最佳答案

尝试获取有关调用 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/

相关文章:

linux - 如何通过基因 ID 从 Fasta 文件中检索序列

linux - 安装一个包的多个版本

php - 将 BASH 关联数组传递给 PHP 脚本

Php 使用连接优化我的请求?

php - 管理社交网站mysql数据库中的好友

php - 上传大文件导致错误

linux - 如果您在 Linux 上有进程 ID,获取应用程序名称的最佳方法是什么?

bash - openssl:如何在控制台中禁用 "writing RSA key"消息

Bash 'for' 循环语法?

php - MySQLI 使用 call_user_func_array 绑定(bind)参数