使 php 可以访问 shell zip

问题描述 投票:0回答:1

您好,在 Ubuntu 18.04 上使用 php 7.2.5 获得了 LEMP 堆栈 服务器信息说 支持 Shell 执行 不支持 Shell Exec Zip

因此我的一些插件说 该服务器未针对 Shell Zip 引擎进行配置 - 请使用不同的引擎模式。要使“Shell Zip”可用,请要求您的主机: 1. 安装 zip 可执行文件并使其可供 PHP 访问。

我尝试过这个代码 PHP - 如何知道服务器是否允许 shell_exec

  if(function_exists('shell_exec')) {
        echo "exec is enabled";
    }

并且该功能已启用

但是,当我使用下面的代码测试它是否可执行时,什么也没有发生。

正如 DanFromGermany 指出的那样,您可能会检查它是否是 可执行的。像这样的东西就可以了

if(shell_exec('echo foobar') == 'foobar'){
    echo 'shell_exec works';
}

或者尝试过这个,也没有返回任何内容,只是白页

 // Exec function exists.
    // Exec is not disabled.
    // Safe Mode is not on.
    $exec_enabled =
       function_exists('exec') &&
       !in_array('exec', array_map('trim', explode(', ', ini_get('disable_functions')))) &&
       strtolower(ini_get('safe_mode')) != 1
    ;


    if($exec_enabled) { exec('blah'); }

我还检查了以下代码 https://wpguru.co.uk/2014/01/how-to-test-if-a-shell-command-will-work-in-php/ 和它有效

// helper function
function checkShellCommand($command) {
    $returnValue = shell_exec("$command");
    if(empty($returnValue)) {
        return false;
    } else {
        return true;
    }
}

// test the shell command you'd like to use
if (!checkShellCommand('uname -a')) {
    print 'This command cannot be executed.';
} else {
    echo shell_exec('uname -a');
}

那么,谁能告诉我如何使其可以被 PHP 访问

非常感谢

php shell shell-exec
1个回答
0
投票

这个问题已经解决了

apt-get install zip unzip
© www.soinside.com 2019 - 2024. All rights reserved.