Contenu de $_SERVER en mode CLI
Bonjour à tous,
Je viens de découvrir que $_SERVER, ne contenait pas les même chose en mode web ou CLI.
J'utilise ce petit code pour "voir" le contenu de $_SERVER que je lance en CLI & web pour voir la nuance:
Code:
1 2 3 4 5 6 7
| <?php
echo '<table border="1">';
foreach ($_SERVER as $k => $v) {
echo "<tr><td>" . $k ."</td><td>" . $v . "</td></tr>";
}
echo "</table>"
?> |
En CLI ça me donne ça:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
ALLUSERSPROFILE C:\Documents and Settings\AllUsers
APPDATA C:\Documents and Settings\Administrateur\Application Data
AVENGINE C:\PROGRA~1\CA\SHARED~1\SCANEN~1
CATPATH C:\Program Files\CA\ARCserve Backup\DATABASE
CLASSPATH C:\PVSW\bin\pvjdbc2x.jar;C:\PVSW\bin\pvjdbc .jar
ClusterLog C:\WINDOWS\Cluster\cluster.log
CommonProgramFiles C:\Program Files\Fichiers communs
COMPUTERNAME SRVSATS
ComSpec C:\WINDOWS\ system32\cmd.exe
CONNPATH C:\Program Files\CA\ARCserve Backup\
FP_NO_HOST_CHECK NO
HOMEDRIVE C:
HOMEPATH \Documents and Settings\Administrateur
LOGONSERVER \\SRVSATS
NUMBER_OF_PROCESSORS 2
OS Windows_NT
Path C:\Program Files\HP\NCU;C:\PVSW\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\PROGRA~1\CA\SHARED~1\SCANEN~1
PATHEXT .COM;.EXE;.BAT;.CMD;. VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE x86
PROCESSOR_IDENTIFIE x86 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVISION 170a
ProgramFiles C:\Program Files
PROMPT $P$G
SESSIONNAME Console
SystemDrive C:
SystemRoot C:\WINDOWS
TEMP C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
USERDOMAIN SRVSATS
USERNAME Administrateur
USERPROFILE C:\Documents andSettings\Administrateur
VSL C:\PVSW\bin
windir C:\WINDOWS
PHP_SELF
REQUEST_TIME 1304929807 |
Voici le bout de script qui utilise ces variables:
Code:
1 2
| define('SIGNATURE', '<p><i><small>Envoyé par: ' . $_SERVER['SCRIPT_NAME'] . ' depuis ' . $_SERVER['COMPUTERNAME'] . ' [' . $_SERVER['SESSIONNAME'] . ']</small></i></p>');
define('HTML_MSG_ABSENT', '<p>Cette alerte ne retourne aucune donnée.<br />' . PHP_EOL . '<i><small>Envoyé par: ' . $_SERVER['SCRIPT_NAME'] . ' depuis ' . $_SERVER['COMPUTERNAME'] . '[' . $_SERVER['SESSIONNAME'] . ']</small></i></p>'); |
$_SERVER['SESSIONNAME'] & $_SERVER['COMPUTERNAME'] (présents dans le test), ne renvoient rien dans mon script. Seul $_SERVER['SCRIPT_NAME'] renvoi quelque chose....
Quelqu'un à une idée?
D'avance merci!
Contenu de $_SERVER en mode CLI
Tu as essayé de passer par une variables intermédiaire ?
genre :
Code:
1 2 3 4 5 6
|
$ScriptName = $_SERVER['SCRIPT_NAME'];
$ComputerName = $_SERVER['COMPUTERNAME'];
$SessionName = $_SERVER['SESSIONNAME'];
define('SIGNATURE', '<p><i><small>Envoyé par: ' . $ScriptName . ' depuis ' . $ComputerName . ' [' . $SessionName . ']</small></i></p>');
define('HTML_MSG_ABSENT', '<p>Cette alerte ne retourne aucune donnée.<br />' . PHP_EOL . '<i><small>Envoyé par: ' . $ScriptName . ' depuis ' . $ComputerName . '[' . $ScriptName . ']</small></i></p>'); |
et comment tu essaye de les afficher après ?;)