[RISOLTO] php environment variables ($_ENV)

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

[RISOLTO] php environment variables ($_ENV)

Messaggio da nulll »

per php environment variables intento quelle contenute $_ENV

da quello che ho capito sono variabili impostate a livello di sistema operativo.

come faccio ad aggiungere una variabile a mio piacere fra le environment variables (e quindi al SO) in modo che sia poi disponibile in uno script php (apache o cli che sia) ?
Ultima modifica di Anonymous il venerdì 28 marzo 2008, 15:00, modificato 1 volta in totale.
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

Re: php environment variables ($_ENV)

Messaggio da nulll »

sono riuscito a creare una variabile environment (cioè di sistema) aggiungendo queste righe in ~/bashrc

Codice: Seleziona tutto

MIA_VARIABILE=TRUE
export MIA_VARIABILE
e se da php-cli stampo le $_ENV vedo che c'è.

Però a logica questo vuol dire che per avere la stessa variaible disponibile fra le $_ENV di php-apache, dovrei avviare apache dopo aver aperto una shell...
questo è scomodo...vorrei che questa variabile sia aggiunta alle $_ENV di php-cli e php-apache automaticamente all'avvio della macchina...

dritte?
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

Re: php environment variables ($_ENV)

Messaggio da nulll »

up
Avatar utente
daemon_nio
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1012
Iscrizione: lunedì 15 gennaio 2007, 14:18
Sesso: Maschile
Località: London
Contatti:

Re: php environment variables ($_ENV)

Messaggio da daemon_nio »

scrivo io così ti evito di fare up :D

Scherzo. L'unico consiglio che ti posso dare è provare a cambiare il titolo. A quanto pare il problema non concerne il php ma la programmazione bash. Vuoi che allo startup del tuo computer vengono costruite delle variabili di sistema.
Ne ho lette tante di cose sul forum... prova a fare una ricerca su questo forum, se ne è parlato tanto... ma io non sono un guru di bash e non ricordo come si fa.

Mi viene in mente solo una cosa... non puoi andare a modificare lo script che lancia apache aggiungendo le variabili di sistema da lì?
Sempre costruendo qualcosa di nuovo: Matag: The Game
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

Re: php environment variables ($_ENV)

Messaggio da nulll »

Si effettivamente il problema non è tanto di programmazione php ma di "ambiente"...

Questa variabile è solo un modo unico (sia per script php-webserver sia per script php-cli),  valido per un intero team di sviluppo, per capire se un progetto sta girando in ambiente di sviluppo (in locale) oppure no
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: php environment variables ($_ENV)

Messaggio da prampa »

dovrei avviare apache dopo aver aperto una shell...
un'informazione. Che intendi dire? se tu modifichi il .bashrc del tuo utente a partire dalla successiva apertura di una shell quella variabile è impostata solo per quell'tente e a maggior ragione dal successivo riavvio del pc (in quella sessione). Se fai la stessa cosa ma sotto /etc/bash.bashrc (mi sembra si chiami cosi' ma non ho linux in questo momento e potrei sbagliare nome) vale, con le stesse modalità di prima, per tutti gli utenti.
Pero' se la variabile non serve al sistema.....che ce la metti a fare li'?
Altrimenti la cosa piu' logica è quella suggerita da daemon_nio cioè di aggiungere la variabile nello script di avvio di apache o per l'applicazione php client.
ciao
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

Re: php environment variables ($_ENV)

Messaggio da nulll »

Ok ho risolto...per chi è interessato ho fatto così:

mettiamo che io volessi avere una disponibile sia in php-apache sia in php-cli la variabile superglobale SONO_IN_LOCALE

x averla in apache devo aggiungere in /etc/apache/apache2.conf questa riga

Codice: Seleziona tutto

SetEnv SONO_IN_LOCALE 1
x averla in php-cli devo aggiungere in /etc/bash.bashrc la riga

Codice: Seleziona tutto

export SONO_IN_LOCALE=1
ora la variabile sarà disponibile nei due ambienti in

Codice: Seleziona tutto

$_SERVER["SONO_IN_LOCALE"]
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti