|
| finde sin egen host i cli mode. Fra : Ulrik Nielsen |
Dato : 27-10-04 10:38 |
|
Hej NG,
Mon der er nogen af jer der har en super måde at finde ud af hvilken
maskine man er på når scripts afvilkes i cli-mode ?
$_SERVER['HTTP_HOST'] findes ikke, så den er ude af billedet...
- grunden til det er at jeg på min devel boks har andre indstillinger
end på min live box og så ville det være cool hvis jeg bare kunne
opdatere scripts frem og tilbage uden at tænke på om mine indstillinger
er sat til det ene eller det andet.
ex:
if ($server == 'xxyyzz') {
define ('database', 'devel');
} else {
define ('database', 'live');
}
pft
--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | transient bus protocol violation
from bofh | http://www.cs.wisc.edu/~ballard/bofh/
| |
Jimmy (27-10-2004)
| Kommentar Fra : Jimmy |
Dato : 27-10-04 11:20 |
|
"Ulrik Nielsen" <un.spam@tiscali.dk> wrote in message
news:417f6c69$0$86931$edfadb0f@dread16.news.tele.dk...
> Hej NG,
>
> Mon der er nogen af jer der har en super måde at finde ud af hvilken
> maskine man er på når scripts afvilkes i cli-mode ?
>
> $_SERVER['HTTP_HOST'] findes ikke, så den er ude af billedet...
>
> - grunden til det er at jeg på min devel boks har andre indstillinger
> end på min live box og så ville det være cool hvis jeg bare kunne
> opdatere scripts frem og tilbage uden at tænke på om mine indstillinger
> er sat til det ene eller det andet.
Jeg bruger $_SERVER ["SERVER_NAME"], men ellers kør en php_info() på begge
maskiner og sammenlign dem.
Mvh
Jimmy
| |
Ulrik Nielsen (27-10-2004)
| Kommentar Fra : Ulrik Nielsen |
Dato : 27-10-04 11:28 |
|
Jimmy wrote:
> Jeg bruger $_SERVER ["SERVER_NAME"], men ellers kør en php_info() på begge
> maskiner og sammenlign dem.
$_SERVER["SERVER_NAME"] kan jeg ikke bruge, hvis jeg kører den i
cli-mode er den tom... både på min live og devel server.
men du har ret, jeg må jo phpinfo() igennem, det var bare lettere hvis
der var en der havde en god ide :)
--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | transient bus protocol violation
from bofh | http://www.cs.wisc.edu/~ballard/bofh/
| |
Jacob Atzen (27-10-2004)
| Kommentar Fra : Jacob Atzen |
Dato : 27-10-04 18:24 |
|
On 2004-10-27, Ulrik Nielsen <un.spam@tiscali.dk> wrote:
> men du har ret, jeg må jo phpinfo() igennem, det var bare lettere hvis
> der var en der havde en god ide :)
Hvad med bare at lave en config-fil der er forskellig fra host til host?
Det andet er jo et grimt hack
--
Med venlig hilsen
- Jacob Atzen
| |
Jimmy (27-10-2004)
| Kommentar Fra : Jimmy |
Dato : 27-10-04 18:52 |
|
"Jacob Atzen" <jacob@aub.dk> wrote in message
news:slrncnvmdo.aes.jacob@morpheus.aub.dk...
> On 2004-10-27, Ulrik Nielsen <un.spam@tiscali.dk> wrote:
> > men du har ret, jeg må jo phpinfo() igennem, det var bare lettere hvis
> > der var en der havde en god ide :)
>
> Hvad med bare at lave en config-fil der er forskellig fra host til host?
> Det andet er jo et grimt hack
Med mindre jeg har forstået alt forkert er det netop det han vil.
Altså, to config-filer i samme fil, så man let kan flytte filerne fra test
til prod uden at skulle tænke på at skifte filer ud og sove trygt idet man
ved at alle de brugere man slettede osv på test-maskinen rent faktisk blev
modificeret på test-miljøet og ikke prod-pga forkert fil.
Jeg bruger det med stor succes og synes det er enormt smart.
Hvorfor er det et hack?
Mvh
Jimmy
| |
Jacob Atzen (27-10-2004)
| Kommentar Fra : Jacob Atzen |
Dato : 27-10-04 19:13 |
|
On 2004-10-27, Jimmy <bla@bla.bla> wrote:
> Med mindre jeg har forstået alt forkert er det netop det han vil.
> Altså, to config-filer i samme fil, så man let kan flytte filerne fra
> test til prod uden at skulle tænke på at skifte filer ud og sove trygt
> idet man ved at alle de brugere man slettede osv på test-maskinen rent
> faktisk blev modificeret på test-miljøet og ikke prod-pga forkert fil.
>
> Jeg bruger det med stor succes og synes det er enormt smart.
>
> Hvorfor er det et hack?
Fordi din kode bliver mindre generel af det. Du blander noget meget
specifikt for netop din opsætning ind i noget, der bør være generelt.
Hvad sker der, når du vil flytte din kode til en ny server? En ny
arbejdsstation? Vil arbejde med koden på forskellige arbejdsstationer
samtidig? Pludselig skal du have en masse logik indbygget i din kode,
til at tage højde for forskellige tilfælde. Derudover risikerer du at du
pludselig benytter den forkerte konfiguration, hvis din logik af en
eller anden årsag fejler.
Istedet kan du nøjes med
include(config.php);
Og så er du ude over alle de problemer. Der er jo en grund til at folk
rundt omkring benytter konfigurationsfiler og ikke hårdkoder alting ind
i deres applikationer.
Jeg kan ikke se, hvad du vinder ved at smide flere konfigurationer ind i
samme fil?
--
Med venlig hilsen
- Jacob Atzen
| |
Jimmy (27-10-2004)
| Kommentar Fra : Jimmy |
Dato : 27-10-04 20:17 |
|
"Jacob Atzen" <jacob@aub.dk> wrote in message
news:slrncnvpa9.c1b.jacob@morpheus.aub.dk...
> On 2004-10-27, Jimmy <bla@bla.bla> wrote:
> Istedet kan du nøjes med
>
> include(config.php);
Ja, men hvis du har et test-miljø og et produktionsmiljø udvikler du jo på
test-miljøet.
Når koden er som den skal være er det smart at kunne flytte den direkte over
i prod.
Det kan man ikke på din måde, da config.php jo flyttes med.
Hvis du så lægger config.php helt uden for de normale filer og kun flytter
den manuelt er det fint nok rent fil-flytningsmæssigt, men det giver jo
heller ikke generel kode.
> Jeg kan ikke se, hvad du vinder ved at smide flere konfigurationer ind i
> samme fil?
Samme fil gør det let for mig at vedligeholde variabler, da jeg har en
switch() i starten der skifter mellem test/prod-variabler såsom user og
pass.
Resten af variablerne, f.eks. HTML Title-tag deles så ved at være uden for
switch().
Ulempen ved at have to filer er jo at du skal vedligeholde filer på en helt
anden server end den du normalt arbejder med.
Jeg synes det er besværligt og foretrækker at have een config.php
På den måde er jeg også sikker på at jeg aldrig kommer til at udvikle på
prod-filerne, som man hurtigt kan komme til, hvis man lige skal rette den
specifikke config.php på prod-serveren.
Mvh
Jimmy
| |
Jacob Atzen (27-10-2004)
| Kommentar Fra : Jacob Atzen |
Dato : 27-10-04 20:38 |
|
On 2004-10-27, Jimmy <bla@bla.bla> wrote:
>
> "Jacob Atzen" <jacob@aub.dk> wrote in message
> news:slrncnvpa9.c1b.jacob@morpheus.aub.dk...
>> On 2004-10-27, Jimmy <bla@bla.bla> wrote:
>
>> Istedet kan du nøjes med
>>
>> include(config.php);
>
> Ja, men hvis du har et test-miljø og et produktionsmiljø udvikler du
> jo på test-miljøet.
> Når koden er som den skal være er det smart at kunne flytte den
> direkte over i prod.
> Det kan man ikke på din måde, da config.php jo flyttes med. Hvis du
> så lægger config.php helt uden for de normale filer og kun flytter den
> manuelt er det fint nok rent fil-flytningsmæssigt, men det giver jo
> heller ikke generel kode.
Det lyder som om du ikke bruger versionsstyring. Hvis det er tilfældet
kan jeg godt se dit problem.
> Samme fil gør det let for mig at vedligeholde variabler, da jeg har en
> switch() i starten der skifter mellem test/prod-variabler såsom user og
> pass.
>
> Resten af variablerne, f.eks. HTML Title-tag deles så ved at være uden for
> switch().
Det kan du gøre ligeså nemt ved at smide de generelle dele ud i en fil
for sig og kun have de "host-afhængige" dele i den omtalte
konfigurations fil.
> Ulempen ved at have to filer er jo at du skal vedligeholde filer på en
> helt anden server end den du normalt arbejder med.
Her lyder det igen som om du blander for meget ind i din
konfigurationsfil. Hvis den kun indeholder host specifikke
informationer, er det meget sjældent der er behov for at ændre den.
> Jeg synes det er besværligt og foretrækker at have een config.php På
> den måde er jeg også sikker på at jeg aldrig kommer til at udvikle på
> prod-filerne, som man hurtigt kan komme til, hvis man lige skal rette
> den specifikke config.php på prod-serveren.
Tja, hvis du ikke kan huske hvor du befinder dig såå...
--
Med venlig hilsen
- Jacob Atzen
| |
Jimmy (27-10-2004)
| Kommentar Fra : Jimmy |
Dato : 27-10-04 20:57 |
|
"Jacob Atzen" <jacob@aub.dk> wrote in message
news:slrncnvu8t.eig.jacob@morpheus.aub.dk...
> On 2004-10-27, Jimmy <bla@bla.bla> wrote:
>
> Det lyder som om du ikke bruger versionsstyring. Hvis det er tilfældet
> kan jeg godt se dit problem.
Det gør jeg ikke.
Hvordan gør du? CVS?
> Her lyder det igen som om du blander for meget ind i din
> konfigurationsfil. Hvis den kun indeholder host specifikke
> informationer, er det meget sjældent der er behov for at ændre den.
Det er rigtigt.
Mvh
Jimmy
| |
Jacob Atzen (27-10-2004)
| Kommentar Fra : Jacob Atzen |
Dato : 27-10-04 21:05 |
|
On 2004-10-27, Jimmy <bla@bla.bla> wrote:
>
> "Jacob Atzen" <jacob@aub.dk> wrote in message
> news:slrncnvu8t.eig.jacob@morpheus.aub.dk...
>> On 2004-10-27, Jimmy <bla@bla.bla> wrote:
>>
>> Det lyder som om du ikke bruger versionsstyring. Hvis det er tilfældet
>> kan jeg godt se dit problem.
>
> Det gør jeg ikke.
> Hvordan gør du? CVS?
Jeg har brugt CVS et par år, men er nu skiftet til Subversion. Prøv det,
det kan ikke beskrives hvor stor forskel det gør, at have et
versionsstyringssystem.
--
Med venlig hilsen
- Jacob Atzen
| |
Ulrik Nielsen (28-10-2004)
| Kommentar Fra : Ulrik Nielsen |
Dato : 28-10-04 06:39 |
|
Jacob Atzen wrote:
> Jeg har brugt CVS et par år, men er nu skiftet til Subversion. Prøv det,
> det kan ikke beskrives hvor stor forskel det gør, at have et
> versionsstyringssystem.
jeg bruger nettop CVS til versionstyring, og når så min devel udgave er
som den skal være laver jeg en update i mit live system.
det er faktisk pga at jeg bruger CVS at jeg gerne vil kunne teste hvor
jeg er henne i verden, for hvis jeg nu laver en ændring i min config.php
i devel og "sender" den til live, så kan der opstå en konflikt i live's
config.php, da jeg her lokalt har ændret ex. database navn..
Subversion har jeg kun lige kigget lidt på, har ikke haft tid til at
lege med det... Er der så godt som det lyder ?
--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | static from nylon underwear
from bofh | http://www.cs.wisc.edu/~ballard/bofh/
| |
Jacob Atzen (28-10-2004)
| Kommentar Fra : Jacob Atzen |
Dato : 28-10-04 06:53 |
|
On 2004-10-28, Ulrik Nielsen <un.spam@tiscali.dk> wrote:
> jeg bruger nettop CVS til versionstyring, og når så min devel udgave er
> som den skal være laver jeg en update i mit live system.
>
> det er faktisk pga at jeg bruger CVS at jeg gerne vil kunne teste hvor
> jeg er henne i verden, for hvis jeg nu laver en ændring i min config.php
> i devel og "sender" den til live, så kan der opstå en konflikt i live's
> config.php, da jeg her lokalt har ændret ex. database navn..
Tricket er ikke at have versionsstyring af sine konfigurationsfiler. De
er alligevel så simple, at der ikke er nogen grund til at have det.
Alternativt kan du lægge konfigurationsfiler et andet sted, end der hvor
du bruger dem og så symlinke til den rigtige konfigurationsfil.
> Subversion har jeg kun lige kigget lidt på, har ikke haft tid til at
> lege med det... Er der så godt som det lyder ?
Jeg er i alt fald meget glad for det. Atomiske commits,
repositoriebredde versionsnumre, versioneret flytning/sletning af filer
_og_ biblioteker. Bare for at nævne et par af fordelene.
--
Med venlig hilsen
- Jacob Atzen
| |
Ulrik Nielsen (28-10-2004)
| Kommentar Fra : Ulrik Nielsen |
Dato : 28-10-04 09:56 |
|
Jacob Atzen wrote:
> Tricket er ikke at have versionsstyring af sine konfigurationsfiler. De
> er alligevel så simple, at der ikke er nogen grund til at have det.
> Alternativt kan du lægge konfigurationsfiler et andet sted, end der hvor
> du bruger dem og så symlinke til den rigtige konfigurationsfil.
Conf filer burde være simple, og det er de også i mine egne projekter :)
- men der er desværre projekter hvis configfiler er meget lange, og der
er det nu rart at man ikke behøver flere conf filer. (live/devel/test)
men tak for hjælpen, jeg ser hvad jeg kan finde på...
--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | Stubborn processes
from bofh | http://www.cs.wisc.edu/~ballard/bofh/
| |
Jimmy (28-10-2004)
| Kommentar Fra : Jimmy |
Dato : 28-10-04 10:47 |
|
"Ulrik Nielsen" <un.spam@tiscali.dk> wrote in message
news:4180b427$0$86921$edfadb0f@dread16.news.tele.dk...
> Jacob Atzen wrote:
> > Tricket er ikke at have versionsstyring af sine konfigurationsfiler. De
> > er alligevel så simple, at der ikke er nogen grund til at have det.
> > Alternativt kan du lægge konfigurationsfiler et andet sted, end der hvor
> > du bruger dem og så symlinke til den rigtige konfigurationsfil.
>
> Conf filer burde være simple, og det er de også i mine egne projekter :)
> - men der er desværre projekter hvis configfiler er meget lange, og der
> er det nu rart at man ikke behøver flere conf filer. (live/devel/test)
F.eks. phpmyadmin's er meget stor.
Mvh
Jimmy
| |
Peter Brodersen (27-10-2004)
| Kommentar Fra : Peter Brodersen |
Dato : 27-10-04 21:05 |
|
On Wed, 27 Oct 2004 21:17:13 +0200, "Jimmy" <bla@bla.bla> wrote:
>Hvis du så lægger config.php helt uden for de normale filer og kun flytter
>den manuelt er det fint nok rent fil-flytningsmæssigt, men det giver jo
>heller ikke generel kode.
Den dovne løsning er at lade din config-fil være skrivebeskyttet. Jeg
har selv for en del år siden scp'et mange filer og mapper frem og
tilbage på den måde, hvor configfilen så bare ikke blev skrevet til.
--
- Peter Brodersen
Ugens sprogtip: pc (og ikke PC)
| |
Erik Ginnerskov (27-10-2004)
| Kommentar Fra : Erik Ginnerskov |
Dato : 27-10-04 21:36 |
|
Jimmy wrote:
> Når koden er som den skal være er det smart at kunne flytte den
> direkte over i prod.
> Det kan man ikke på din måde, da config.php jo flyttes med.
Hvorfor ikke lægge en fast confic.php på prod - med de konfigurationer, der
gælder for den maskine - samtidig med et du har en anden config.php på
devel - med sine konfigurationer.?
Så skal du vel slet ikke røre de filer mere og kan koncentrere dig om den
fil, der skal bruge oplysningerne fra config.php.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk
| |
Jeppe Uhd (28-10-2004)
| Kommentar Fra : Jeppe Uhd |
Dato : 28-10-04 09:20 |
|
Ulrik Nielsen wrote:
> Hej NG,
>
> Mon der er nogen af jer der har en super måde at finde ud af hvilken
> maskine man er på når scripts afvilkes i cli-mode ?
>
> $_SERVER['HTTP_HOST'] findes ikke, så den er ude af billedet...
>
> - grunden til det er at jeg på min devel boks har andre indstillinger
> end på min live box og så ville det være cool hvis jeg bare kunne
> opdatere scripts frem og tilbage uden at tænke på om mine
> indstillinger er sat til det ene eller det andet.
>
> ex:
> if ($server == 'xxyyzz') {
> define ('database', 'devel');
> } else {
> define ('database', 'live');
> }
getenv("HOST")
--
MVH Jeppe Uhd - NX http://nx.dk
Webhosting for nørder og andet godtfolk
| |
Ulrik Nielsen (28-10-2004)
| Kommentar Fra : Ulrik Nielsen |
Dato : 28-10-04 09:50 |
|
Jeppe Uhd wrote:
>
> getenv("HOST")
>
getenv("HOSTNAME") men ellers rigtigt.. :)
- den er godtaget ...
--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | Stubborn processes
from bofh | http://www.cs.wisc.edu/~ballard/bofh/
| |
Jeppe Uhd (28-10-2004)
| Kommentar Fra : Jeppe Uhd |
Dato : 28-10-04 10:08 |
|
Ulrik Nielsen wrote:
> Jeppe Uhd wrote:
>>
>> getenv("HOST")
>>
>
> getenv("HOSTNAME") men ellers rigtigt.. :)
> - den er godtaget ...
I mit tilfælde er det nu "HOST"... (FreeBSD 4.9)
--
MVH Jeppe Uhd - NX http://nx.dk
Webhosting for nørder og andet godtfolk
| |
|
|