/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste