我有一个关于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);
?>
这是我在本地计算机上运行的内容:
这就是我在VPS上运行的内容:
任何提示?
更新
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! :("; }
日志没有显示任何异常