php shell_exec在VPS上的奇怪行为

时间:2016-01-10 03:12:09

标签: php shell-exec

我有一个关于inmotion的VPS,当在PHP脚本上使用shell_exec时,我得到了非常奇怪的结果。使用本地计算机服务器时,脚本可以正常工作。

test.php的:

<?php

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

        // When running local -- path changed for example
        echo shell_exec("php /Users/username/test2.php arg1 arg2 arg3");

        // When running on the VPS -- path changed for example
        echo shell_exec("php /home/servername/public_html/site/test2.php arg1 arg2 arg3");

    }

?>
<form id="formranking" name="formranking" method="post" action=<?php htmlspecialchars($_SERVER["PHP_SELF"]); ?>>
    <input type="text" name="regName" value="">
    <input type="submit" name="submit" id="submit">
</form>
Create your second page, call it get_reg.php:
<span>testing shell_exec</span>

test2.php

<?php

    var_dump($argv);

?>

这是我在本地计算机上运行的内容:

enter image description here

这就是我在VPS上运行的内容:

enter image description here

任何提示?

  

更新

PHP Safe Mode未启用且已设置register_argc_argv。我运行下面的代码来检查:

if( ini_get('safe_mode') ){ echo ('safe mode is on'); }else{ echo ('its not'); } 
echo '<br>'; 
if(ini_get("register_argc_argv")) { echo "It's set! :)"; } else { echo "It isn't set! :("; } 

日志没有显示任何异常

0 个答案:

没有答案