sur Linux $ _ Server ["_"] code> contient le chemin d'accès à l'exécutable d'interpréteur PHP (par exemple
/ USR / bin / php -r 'echo € _Server ["_"]; code> imprimera
/ usr / bin / php code>). Sous Windows XP avec PHP 5.3
$ _ Server ["_"] code> est
null code>. P>
5 Réponses :
Je suppose que vous vous référez à exécuter PHP en mode CLI.
Je viens de tester cela dans CLI PHP 5.3 sous Windows 7, et il semble qu'il ne s'agisse aucun moyen de trouver l'exécutable PHP Le script actuel est exécuté sous (Le serveur aussi, le ligne de commande PHP sur Windows page du manuel PHP n'a rien à dire sur la question. La seule chose qui vous vient à l'esprit est une solution de contournement de la fixation d'une variable d'environnement Avant d'appeler le script: p> _ _ "_"] code> index n'est pas disponible; non plus une autre variable contenant le chemin de l'exécutable). P>
argv code> et
php_sapi_name () code> Ne vous révèle rien, non plus. p>
$php_exe_path = $_SERVER["PHPEXE"];
Bien que pas parfait, vous pourriez essayer ceci: p>
qui vous donnerait quelque chose comme p>
C: \ Fichiers de programme \ php \ php.exe p>
blockQuote> $ _ serveur ['phprc']. 'php.exe' code> p>
Intéressant, mais je ne reçois pas cette variable en mode CLI (PHP 5.3 sous Windows 7) Êtes-vous sûr que ce n'est pas une variable d'environnement définie par logiciel serveur ou quelque chose?
ODD, c'était une installation de mode CLI fraîche que j'ai trouvé la variable PHPRC in.: /
Il semble s'agir d'une variable d'environnement: php.net/manual/fr/configuration.php < / a> (dans les notes) avec cette mise en garde, il peut encore être disponible dans certaines installations (pas sur mon XAMPP Lite, cependant)
Pas une vraie solution pour trouver le php.exe, mais vous pouvez utiliser le include_path code> ou
extension_dir code> et accédez à leur répertoire parent dans lequel le php.exe devrait être stockée. À titre d'exemple:
C'est rien à voir avec PHP lui-même. C'est Shell qui définit cette variable d'environnement. PHP vient simplement le chercher
Par exemple, voir ici : P> < BlockQuote>
Le shell définit certaines variables de coque par défaut; PS2 est l'un d'entre eux. Les autres variables de coque utiles définies ou utilisées dans la coquille Korn sont: p>
Je pense que votre meilleur tir sous Windows est d'écrire une fonction interne. E.g. P> exemple: p>
Bonne explication Pourquoi ce n'est pas là dans Windows.
Merci. Je ne savais pas que c'est une caractéristique de Shell.
i largué $ _ serveur code> et a eu à quasi beaucoup d'options pour tout goût :)