Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #20714 > unrolled thread
| Started by | "leonardo.1+++" <leonardo.1@fastwebnet.it> |
|---|---|
| First post | 2016-04-26 18:15 +0200 |
| Last post | 2016-04-26 20:44 +0000 |
| Articles | 7 — 5 participants |
Back to article view | Back to it.comp.www.php
testare se pagina php è in locale o remoto "leonardo.1+++" <leonardo.1@fastwebnet.it> - 2016-04-26 18:15 +0200
Re: testare se pagina php è in locale o remoto "ciccio" <21669invalid@mynewsgate.net> - 2016-04-26 16:37 +0000
Re: testare se pagina php è in locale o remoto "leonardo.1+++" <leonardo.1@fastwebnet.it> - 2016-04-26 18:57 +0200
Re: testare se pagina php in locale o remoto Andrea D'Amore <anddam+NOSPAM@brapi.net> - 2016-04-26 18:38 +0200
Re: testare se pagina php in locale o remoto "leonardo.1+++" <leonardo.1@fastwebnet.it> - 2016-04-26 18:44 +0200
Re: testare se pagina php in locale o remoto marcocatarsi@tiscaly.it (Catarsi) - 2016-04-26 22:25 +0200
Re: testare se pagina php è in locale o remoto Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-26 20:44 +0000
| From | "leonardo.1+++" <leonardo.1@fastwebnet.it> |
|---|---|
| Date | 2016-04-26 18:15 +0200 |
| Subject | testare se pagina php è in locale o remoto |
| Message-ID | <XuMTy.44586$pt.43233@tornado.fastwebnet.it> |
Esiste una funzione da inserire in una pagina web che permette qualcosa del genere? if(testo qualcosa) echo"sono in locale"; else echo""sono in remoto"; Se non esiste, un consiglio su come fare il test? Grazie. Leonardo -- Non sono su facebook Se anche tu vuoi cancellarti http://www.giardiniblog.com/come-cancellarsi-da-facebook-eliminare-account/
[toc] | [next] | [standalone]
| From | "ciccio" <21669invalid@mynewsgate.net> |
|---|---|
| Date | 2016-04-26 16:37 +0000 |
| Message-ID | <2016042616372121669@mynewsgate.net> |
| In reply to | #20714 |
leonardo.1+++ <leonardo.1@fastwebnet.it> ha scritto: > Esiste una funzione da inserire in una pagina web che permette qualcosa > del genere? > > if(testo qualcosa) echo"sono in locale"; > else > echo""sono in remoto"; > Se non esiste, un consiglio su come fare il test? > Grazie. > Leonardo > > sostituisci "testo qualcosa" con: $_SERVER['SERVER_NAME'] == 'localhost'
[toc] | [prev] | [next] | [standalone]
| From | "leonardo.1+++" <leonardo.1@fastwebnet.it> |
|---|---|
| Date | 2016-04-26 18:57 +0200 |
| Message-ID | <I5NTy.44588$pt.44400@tornado.fastwebnet.it> |
| In reply to | #20715 |
Il 26/04/2016 18:37, ciccio ha scritto: > > $_SERVER['SERVER_NAME'] == 'localhost' > Ti ringrazio, era il cosiddetto "uovo di colombo"!!! dev'essere l'ora Saluti Leonardo -- Non sono su facebook Se anche tu vuoi cancellarti http://www.giardiniblog.com/come-cancellarsi-da-facebook-eliminare-account/
[toc] | [prev] | [next] | [standalone]
| From | Andrea D'Amore <anddam+NOSPAM@brapi.net> |
|---|---|
| Date | 2016-04-26 18:38 +0200 |
| Subject | Re: testare se pagina php in locale o remoto |
| Message-ID | <nfo5he$vos$1@virtdiesel.mng.cu.mi.it> |
| In reply to | #20714 |
On 2016-04-26 16:15:51 +0000, leonardo.1+++ said: > if(testo qualcosa) echo"sono in locale"; > else > echo""sono in remoto"; Dipende da che intendi per "essere in locale" ed "in remoto", se non capisco male puoi controllare l'indirizzo IP del client e fare una scelta euristica, se ad esempio appartiene a 127/8 o 192.168/16 e simili puoi decidere che il client è locale. Sembra un problema XY però, qual è il caso d'uso? -- Andrea
[toc] | [prev] | [next] | [standalone]
| From | "leonardo.1+++" <leonardo.1@fastwebnet.it> |
|---|---|
| Date | 2016-04-26 18:44 +0200 |
| Subject | Re: testare se pagina php in locale o remoto |
| Message-ID | <NVMTy.44587$pt.15896@tornado.fastwebnet.it> |
| In reply to | #20716 |
Il 26/04/2016 18:38, Andrea D'Amore ha scritto: > On 2016-04-26 16:15:51 +0000, leonardo.1+++ said: > >> if(testo qualcosa) echo"sono in locale"; >> else >> echo""sono in remoto"; > > Dipende da che intendi per "essere in locale" ed "in remoto", se non > capisco male puoi controllare l'indirizzo IP del client e fare una > scelta euristica, se ad esempio appartiene a 127/8 o 192.168/16 e simili > puoi decidere che il client è locale. > > Sembra un problema XY però, qual è il caso d'uso? > > Uno script deve eseguire dei comandi se in locale ed altri se in remoto. Ho provato con: $StringaPercorso = $_SERVER['PHP_SELF']; testandone il contenuto, ma non mi da la certezza assoluta in caso di cambio di cartella. Saluti -- Non sono su facebook Se anche tu vuoi cancellarti http://www.giardiniblog.com/come-cancellarsi-da-facebook-eliminare-account/
[toc] | [prev] | [next] | [standalone]
| From | marcocatarsi@tiscaly.it (Catarsi) |
|---|---|
| Date | 2016-04-26 22:25 +0200 |
| Subject | Re: testare se pagina php in locale o remoto |
| Message-ID | <1mmc3aj.18iit1xsp3asiN%marcocatarsi@tiscaly.it> |
| In reply to | #20717 |
leonardo.1+++ <leonardo.1@fastwebnet.it> wrote:
> Uno script deve eseguire dei comandi se in locale ed altri se in remoto.
A me, sapere se sono in locale o in remoto, serve per collegarmi a un
database o un altro. E faccio così:
$serverName=$_SERVER['SERVER_NAME'];
if ($serverName=='localhost' or substr($serverName,0,3)=='192'
or substr($serverName,0,3)=='127') {
// sono in locale
} else {
// sono in remoto
}
Ma funziona a me, non so se può considerarsi una tecnica universalmente
valida.
--
mailto: y = i
------------------------------------------------------
http://www.catarsi.it
Vivo nel terrore di non essere frainteso (Oscar Wilde)
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-04-26 20:44 +0000 |
| Message-ID | <doa291Fjfg0U3@mid.individual.net> |
| In reply to | #20714 |
Il Tue, 26 Apr 2016 18:15:51 +0200, leonardo.1+++ ha scritto:
> Esiste una funzione da inserire in una pagina web che permette qualcosa
> del genere?
A parte i vari suggerimenti, io preferisco il metodo deterministico.
Nella configurazione del Virtualhost su Apache (o chi per esso, tipo
nginx) uso, sul server di produzione:
SetEnv APP_ENV production
oppure, sul server locale:
SetEnv APP_ENV test
Poi in PHP uso semplicemente:
$env = getenv('APP_ENV');
In questo modo non hai sorprese, per esempio, se qualcuno ti piazza un
proxy o un load-balancer davanti, e improvvisamente ti trovi con valori
strani in SERVER_NAME.
Bye.
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web