Une petite question pour les pros de php. Je cherche un moyen de créer une variable serveur, c'est à dire une variable qui aura le même contenu pour toutes les sessions et que certains scripts pourront modifier. J'avais pensé le faire avec un fichier texte dont le contenu serait renvoyé par un script php, mais j'aurais aimé faire une vraie variable serveur comme on peut en faire avec d'autres technologies.
D'avance merci !
# c'est pénible de devoir mettre un titre à chaque fois...
Posté par __caffeine__ . Évalué à 2.
[^] # Re: c'est pénible de devoir mettre un titre à chaque fois...
Posté par kd . Évalué à 2.
Par contre, il va falloir implémenter des fonctions pour qu'un seul processus puisse écrire dans les variables.
Sinon, une manière bourrin serait d'enregistrer les variables dans une base de donnée.
Et enfin, je n'ai jamais essayé et je ne sais pas si c'est exploitable d'utiliser la mémoire partagée :
http://www.php.net/manual/fr/ref.shmop.php(...)
[^] # Re: c'est pénible de devoir mettre un titre à chaque fois...
Posté par Krunch (site web personnel) . Évalué à 2.
C'est bien pratique et c'est une solution possible effectivement mais il faut quand même stocker le résultat quelque part. Je vois pas bien comment faire ça sans utiliser un fichier (ou une base de données).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Stocké dans une session ?
Posté par Anonyme . Évalué à 1.
session_start();
$_SESSION['foo'] = 'bar';
Ensuite sur une autre page,
session_start();
echo $_SESSION['foo']; // bar
[^] # Re: Stocké dans une session ?
Posté par kd . Évalué à 2.
[^] # Re: Stocké dans une session ?
Posté par Anonyme . Évalué à 1.
[^] # Re: Stocké dans une session ?
Posté par Antonio Da Silva (site web personnel) . Évalué à 1.
Je vois pas où est le problème, les données de session sont "stockées" sur le serveur, jamais chez le client. Le client ne voit qu'un ID permettant au serveur de retrouver la session associée .
[^] # Re: Stocké dans une session ?
Posté par Eric Boulat . Évalué à 1.
# Constante ou variable apache
Posté par Olivier Meunier (site web personnel) . Évalué à 3.
define('MA_CONSTANTE','valeur');
Sinon, autre solution, la variable dans le VirtualHost Apache si tu y a accès :
SetEnv VAR "ma valeur"
Ensuite ça se récupère avec $_SERVER['VAR']
[^] # Re: Constante ou variable apache
Posté par Eric Boulat . Évalué à 1.
C'est forcément une constante ?
Sinon, autre solution, la variable dans le VirtualHost Apache si tu y a accès :
SetEnv VAR "ma valeur"
Ensuite ça se récupère avec $_SERVER['VAR']
Si ensuite un script php peut modifier cette variable c'est exactement ce qu'il me faut !
# Re: Question php
Posté par yugz . Évalué à 2.
# Un coup de php.ini
Posté par CopainJack (site web personnel, Mastodon) . Évalué à 2.
Tu peux te rabattre sur auto_prepend_file et auto_append_file dans php.ini et un script maison pour lire et stocker cette variable (fichier ? db ?)
Ou alors, ecrire un module pour php voire faire un patch, mais on part dans un total autre direction.
[^] # Re: Un coup de php.ini
Posté par CopainJack (site web personnel, Mastodon) . Évalué à 0.
son => sont
un total => une totale
....
honte sur moi
# Et la banana
Posté par Guillaume Plessis (site web personnel) . Évalué à 2.
Néanmoins, un projet existe :
http://www.vl-srm.net/(...)
Je n'ai pas testé. Bon courage
# Solutions
Posté par Chadom (site web personnel) . Évalué à 2.
=> google : http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-(...)
=> http://php.weblogs.com/php_application_variables(...)
# ca depends
Posté par fabien . Évalué à 1.
par exemple, avec un bête fichier, si la frequence d'ecriture n'est pas tres élevée, ca peut le faire... le risque est faible ensuite il evaluer l'importance que ca a ...
si par exemple tu as besoin de lire puis d'ecrire dans cetet ressource (dans le fichier quoi) et que sur quelques script les operations entre ces 2 actions sont longue, tu peux gerer ta section critique avec uen sorte de semaphore...
Tu te fais des fonction pour la lecture et l'ecriture et des fonction pour prendre et relacher le semaphore... qui pourra être géré lui même par un fichier (les fonctione semaphore etant elles même assez petites)
tu mets ceci dans un fichier messcripts.inc.php et ca te fais un API de variable serveur, voili voilou...
bourin ? ca depends ce que qu'on veux en faire...
# une variable de portée application ?
Posté par Christophe Martel . Évalué à 1.
a priori, tu veux créer une variable de portée application, variable facilement utilisable dans des environnement ASP/J2EE
</troll>
or, ce n'est pas possible, nativement, en PHP : soit tu passes par une source de données externe (un fichier avec des données serialisées, une base de données...), soit tu fait comme Zeev Suraski/Andi Gutmans disent de le faire : tu installes la librairie de gestion de la memoire...
extrait du chat (question de flaimo):
l'article sur zend.com :
http://www.zend.com/php/ask_experts.php(...)
sinon, tu as un exemple de variable d'application par fichier à cette adresse :
http://www.leosingleton.com/projects/code/phpapp/(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.