2017-08-24 1 views
2

Exécution d'un script sur la ligne de commande:

php testfile.php 

Le fichier contient les éléments suivants:

echo print_r($_SERVER, true); 

Je l'ai remarqué a des variables JAVA_HOME et PATH dans la borne de sortie. J'ai essayé d'ajouter mes propres variables à/etc/environment (Linux) en supposant qu'il utilisait de telles variables mais elles n'apparaissent pas.

Alors, où ces variables sont-elles définies et puis-je ajouter la mienne?

Répondre

0

De la documentation PHP (que je recommande):

$ _SERVER est un tableau contenant des informations telles que les en-têtes, les chemins et les emplacements de script . Les entrées de ce tableau sont créées par le serveur Web. Il n'y a aucune garantie que chaque serveur Web fournira l'un de ceux-ci; les serveurs peuvent en omettre certains, ou en fournir d'autres non listés ici. Cela dit, un grand nombre de ces variables sont prises en compte dans la spécification »CGI/1.1, vous devriez donc pouvoir vous attendre à celles-ci.

Voir ici pour une explication plus détaillée: http://php.net/manual/en/reserved.variables.server.php

Vous pouvez définir des variables d'environnement dans votre config apache utilisant SetEnv ENVIRONMENT "production" par exemple.

Jetez aussi un oeil à cette question et de répondre How to set global environment variables for PHP

0

Selon PHP Documentation sur le $_SERVER superglobale:

Les entrées de ce tableau sont créés par le serveur Web. Il n'y a aucune garantie que chaque serveur Web fournira l'un de ceux-ci; les serveurs peuvent en omettre certains, ou en fournir d'autres non listés ici. Cela dit, un grand nombre de ces variables sont prises en compte dans la »CGI/1.1 specification

La mise en œuvre dépend donc de votre logiciel de serveur Web. Pour Apache certains des indices (comme REMOTE_HOST) provient du fichier de configuration httpd.conf