我正在尝试通过 shell_exec(); 执行命令 但它什么也没做。我知道 shell_exec(); 已启用,因为这些工作完美:
echo shell_exec('which php');
echo shell_exec('ls');
他们确实输出正确。
问题是当我想执行这样的事情时:
shell_exec("php file.php var1 var2 > /dev/null &");
它什么也不做,但是当我通过计算机上的终端运行它时,它确实有效。我也试过用这样的完整路径来做:
shell_exec("/usr/bin/php /full/path/file.php var1 var2 > /dev/null &");
它不起作用,但再次......如果我通过终端计算机运行它,它就会起作用。
php.ini 安全模式已关闭,并且上面没有禁用的功能,所以我不知道会发生什么。是的,我可以访问 SSH 并获得一个专用 IP。