Shell_exec不执行php文件

Shell_exec不执行php文件,php,shell-exec,Php,Shell Exec,我正试图通过按下按钮来运行shell_exec查询。 但它似乎没有执行任何操作。我检查了php.ini,它没有被禁用。我试图在另一个目录中执行一个php文件 /var/www/html/root/download_handler.php。它似乎不起作用。 这是我的密码。我希望有人知道我能做些什么来解决这个问题? 您可以尝试将curl与该php的参数一起使用。或者,您可以打开一个输出缓冲区,在包含要直接执行的php之前设置$\u GET值。就我个人而言,我只是尽可能避免使用shell\u e

我正试图通过按下按钮来运行shell_exec查询。 但它似乎没有执行任何操作。我检查了php.ini,它没有被禁用。我试图在另一个目录中执行一个php文件
/var/www/html/root/download_handler.php。它似乎不起作用。

这是我的密码。我希望有人知道我能做些什么来解决这个问题?


您可以尝试将curl与该php的参数一起使用。或者,您可以打开一个输出缓冲区,在包含要直接执行的php之前设置$\u GET值。就我个人而言,我只是尽可能避免使用
shell\u exec
。如何在CURL中实现这一点?我不太熟悉使用它。嗯,curl就像打开一个web浏览器到一个URL。。。基本上。它返回您要访问的url的输出(如果需要)。由于您的
下载\u handler.php
看起来位于网站的根目录,因此您应该能够使用curl to
https://yourdomain.com/download_handler.php?param¶m&etc
。不过,您需要阅读php中的curl。这只是一个想法,我不会向你施压,特别是如果你从未使用过它。好吧,我用卷曲设置它。但是我的目标脚本似乎无法执行screen命令,它可以单独运行php脚本。我一点也不熟悉如何在命令行中将
screen
php
一起使用,因此我在这方面没有帮助;)
if ($_SERVER['REQUEST_METHOD'] === "POST") {

if (isset($_POST['download'])) {

    $site = $_POST['site'];
    $wait = $_POST['wait'];
    $folder = $_POST['folder'];
    $strpos = strpos($site, "http://");

    if (empty($site) || empty($wait) || empty($folder)) {

        $error = Error::display("Input fields left empty", "alert");

    } else {

        if ($strpos === false) {

            $error = Error::display("Incorrect URL Format. Example: http://example.com/", "alert");

        } else {

            $username = $_SESSION['username'];


            $error = Error::display($site . $wait . $folder . $username, "success");
            shell_exec("screen php /var/www/html/download_handler.php download $site $folder $wait $username");


        }

    }

}

}

?>