如何使用函数 shell_exec() PHP
How to use the function shell_exec() PHP
我的函数 shell_exec() 有问题,我已经尝试了所有方法,但我不知道问题出在哪里。我有这个 php 程序可以验证您是否登录,我想使用 cookie,但我工作的公司的 apache 服务器不允许我使用我不知道为什么。所以通常在这个程序中我会检查我是否已经启动了我的会话,如果我没有,我会使用用户在之前页面中的文本案例中输入的登录名,如果我这样做(已经启动了我的会话),我将使用我之前在文本案例中输入的登录名,现在存储在会话变量中。我不知道这样做是否正确,但这就是我提出的解决方案。我不是 php 方面的专家。
所以问题是函数 shell_exec() 在第一个 "if" 之外工作但不在条件中,当我进入条件时它 returns 我什么都没有。我想知道你的意见。
这是代码:
$login = $_POST['login_venezia'];
if (isset($login))
{
$log = $login;
if($_SESSION['login_test']!=NULL)
{
$tableau = shell_exec('groups'.$_SESSION['login']);
echo "1";
echo $_SESSION['login']."\n";
}
else
{
$tableau = shell_exec('groups'.$log);
echo "2";
echo "Login = ".$log;
}
//$tableau = shell_exec('groups '.$log);
echo "Login = ".$login;
echo "Tableau = ".$tableau;
$resultat = explode(" ",$tableau);
$cookies = $_COOKIE['session_ser'];
die;
$path = dirname($_SERVER['PHP_SELF']); //chemin avant de fichier courant
$path_separe = explode('/',$path); //nous retourne la chaine de caractere donc le chemin du fichier mais sans les slash
$lenght = count($path_separe);
$imp = $path_separe[$lenght-2];
if($tableau != NULL)
{
for($i=0; $i<count($resultat);$i++)
{
if($resultat[$i] === $imp && $cookies!=NULL)
{
$valeur = 1;
}
}
if($i === count($resultat))
{
//header('Location: verifnon.php?mavar=1'); //n'appartien pas au projet
}
}
else
{
//header('Location: compteinexistant.php?mavar=1'); //son compte existe pas
echo "Erreur";
}
if($valeur === 1)
{
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* Configure le délai d'expiration à 30 minutes */
session_cache_expire(1440);
$cache_expire = session_cache_expire();
session_start();
$_SESSION['login'] = $login;
//header('Location: verifoui.php?mavar=1');
}
}
else
{
echo "Veuillez saisir votre login \n";
}
在组后面加上 space 否则你是 运行 'groupslogin' 这不是命令:
if($_SESSION['login_test']!=NULL)
{
$tableau = shell_exec('groups '.$_SESSION['login']);
echo "1";
echo $_SESSION['login']."\n";
}
else
{
$tableau = shell_exec('groups '.$log);
echo "2";
echo "Login = ".$log;
}
我的函数 shell_exec() 有问题,我已经尝试了所有方法,但我不知道问题出在哪里。我有这个 php 程序可以验证您是否登录,我想使用 cookie,但我工作的公司的 apache 服务器不允许我使用我不知道为什么。所以通常在这个程序中我会检查我是否已经启动了我的会话,如果我没有,我会使用用户在之前页面中的文本案例中输入的登录名,如果我这样做(已经启动了我的会话),我将使用我之前在文本案例中输入的登录名,现在存储在会话变量中。我不知道这样做是否正确,但这就是我提出的解决方案。我不是 php 方面的专家。 所以问题是函数 shell_exec() 在第一个 "if" 之外工作但不在条件中,当我进入条件时它 returns 我什么都没有。我想知道你的意见。
这是代码:
$login = $_POST['login_venezia'];
if (isset($login))
{
$log = $login;
if($_SESSION['login_test']!=NULL)
{
$tableau = shell_exec('groups'.$_SESSION['login']);
echo "1";
echo $_SESSION['login']."\n";
}
else
{
$tableau = shell_exec('groups'.$log);
echo "2";
echo "Login = ".$log;
}
//$tableau = shell_exec('groups '.$log);
echo "Login = ".$login;
echo "Tableau = ".$tableau;
$resultat = explode(" ",$tableau);
$cookies = $_COOKIE['session_ser'];
die;
$path = dirname($_SERVER['PHP_SELF']); //chemin avant de fichier courant
$path_separe = explode('/',$path); //nous retourne la chaine de caractere donc le chemin du fichier mais sans les slash
$lenght = count($path_separe);
$imp = $path_separe[$lenght-2];
if($tableau != NULL)
{
for($i=0; $i<count($resultat);$i++)
{
if($resultat[$i] === $imp && $cookies!=NULL)
{
$valeur = 1;
}
}
if($i === count($resultat))
{
//header('Location: verifnon.php?mavar=1'); //n'appartien pas au projet
}
}
else
{
//header('Location: compteinexistant.php?mavar=1'); //son compte existe pas
echo "Erreur";
}
if($valeur === 1)
{
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* Configure le délai d'expiration à 30 minutes */
session_cache_expire(1440);
$cache_expire = session_cache_expire();
session_start();
$_SESSION['login'] = $login;
//header('Location: verifoui.php?mavar=1');
}
}
else
{
echo "Veuillez saisir votre login \n";
}
在组后面加上 space 否则你是 运行 'groupslogin' 这不是命令:
if($_SESSION['login_test']!=NULL)
{
$tableau = shell_exec('groups '.$_SESSION['login']);
echo "1";
echo $_SESSION['login']."\n";
}
else
{
$tableau = shell_exec('groups '.$log);
echo "2";
echo "Login = ".$log;
}