Déclaration de variable globale avec php.ini
Est-il possible de garder les variables en php.fichier ini. Comme ce que nous faisons avec le web.config .net. Je tiens à garder un indicateur de type de variable en php.ini et l'utiliser pour différents projets.
source d'informationauteur Zstream | 2011-02-19
Vous devez vous connecter pour publier un commentaire.
Il n'est pas possible de définir au niveau de l'utilisateur variables au sein d'un simple php.fichier ini (ou la .htaccess equivilents). Il y a quelques PECL modules qui ne permettent que, comme hidef (http://pecl.php.net/package/hidef) - bien que cela aurait besoin d'être installé sur chaque installation que vous utilisez.
Y compris (ou pré -) un fichier avec auto_prepend_file est tout à fait possible - bien que ce serait sur toutes les requêtes PHP.
Ce qui est souvent faite est de définir une variable d'environnement en tant que partie du processus du serveur web, qui peut être lu à partir de PHP. Dans Apache, c'est assez facile, avec la SetEnv module.
Et y accéder en PHP:
Nope.
Vous pouvez utiliser le auto_prepend_file directive pour inclure automatiquement un fichier qui dit, bien qu'il utilise le include_path, vous devez spécifier le chemin d'accès complet.
Cependant, il est probablement plus transparent, juste afin d'inclure explicitement l'/exiger le fichier.
Avez-vous regardé
get_cfg_var()
?J'avais besoin de faire quelque chose de similaire, et cela a été en mesure de le faire pour moi.
Une technique que j'ai trouvé très pratique pour passer d'un nombre limité de variables globales pour un script bootstrap est de profiter de la directive SetEnv dans une .fichier htaccess. L'avantage est que la variable vous sera mis à disposition à n'importe quel script dans le répertoire, en plus de tous les scripts de l'enfant dans le sous-répertoires.
Vous pouvez utiliser un SetEnv varibale avec l'emplacement d'un fichier de configuration, tels que:
.htaccess:
Dans votre .scipt php:
Si vous avez un répertoire de test qui nécessite d'initialisation différents o les variables globales, il suffit d'ajouter un autre .htaccess dans votre répertoire de test:
Faisant de cette façon, plutôt que d'utiliser le "auto_prepend_file" directive, c'est que votre configuration globale de script n'est pas exécuté par toutes les applications php sur votre serveur: certains peuvent ne pas en avoir besoin.
Accepté answere a également travaillé pour moi, avec un seul changement.
Je n'ai pas tester sur les versions antérieures, mais dans mon environnement (php 5.4.22) ce n'est pas dans $_ENV, mais plutôt dans la variable $_SERVER.
Dans mon .fichier htacess:
Mon code php:
Je ne pense pas que c'est un bon endroit pour stocker des variables. php.ini est pour le stockage de la configuration de PHP lui-même pas de vos applications. Vous devriez envisager de mettre les variables partagées dans un .fichier inc et notamment à la place.
Avez-vous envisagé de hidef?