7
votes

$ _Server ['_'] équivalent sur Windows

sur Linux $ _ Server ["_"] contient le chemin d'accès à l'exécutable d'interpréteur PHP (par exemple / USR / bin / php -r 'echo € _Server ["_"]; imprimera / usr / bin / php ). Sous Windows XP avec PHP 5.3 $ _ Server ["_"] est null .


0 commentaires

5 Réponses :


0
votes

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 _ _ "_"] code> index n'est pas disponible; non plus une autre variable contenant le chemin de l'exécutable). P>

aussi, le ligne de commande PHP sur Windows page du manuel PHP n'a rien à dire sur la question. argv code> et php_sapi_name () code> Ne vous révèle rien, non plus. p>

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>

$php_exe_path = $_SERVER["PHPEXE"];


0 commentaires

0
votes

Bien que pas parfait, vous pourriez essayer ceci:

$ _ serveur ['phprc']. 'php.exe'

qui vous donnerait quelque chose comme

C: \ Fichiers de programme \ php \ php.exe


3 commentaires

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)



1
votes

Pas une vraie solution pour trouver le php.exe, mais vous pouvez utiliser le include_path ou extension_dir et accédez à leur répertoire parent dans lequel le php.exe devrait être stockée. À titre d'exemple: xxx


0 commentaires

12
votes

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 : < 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:

  • _ (Underscore) - Lorsqu'une commande externe est exécutée par la coquille, celle-ci est définie dans l'environnement du nouveau processus sur le chemin de la commande exécutée. En utilisation interactive, ce paramètre est également défini dans la coque mère vers le dernier mot de la commande précédente.
  • ...

    Je pense que votre meilleur tir sous Windows est d'écrire une fonction interne. E.g. xxx

    exemple: xxx


2 commentaires

Bonne explication Pourquoi ce n'est pas là dans Windows.


Merci. Je ne savais pas que c'est une caractéristique de Shell.



0
votes

i largué $ _ serveur et a eu à quasi beaucoup d'options pour tout goût :) xxx


0 commentaires