Opdateringssystem

Tags:    php

Hejsa, allesammen.

Jeg er løbet ind i et problem. Jeg har brug for at kunne køre opdateringer på et kørende system, hvor der eventuelt skal oprettes helt nye filer, via php.
Safe Mode er slået til, og det har jeg ingen mulighed for at gøre noget ved, og ny host er desværre også udelukket.

Jeg har, sjovt nok, mulighed for at hente hele filen (I dette tilfælde en zip-fil med alle opdaterede/nye filer i). Kan også åbne den og hente indholdet. Problemet er så at permissions på nye filer - opretter dem med fopen og fylder indhold i - er forkerte. Dvs. jeg kan ikke eksekvere dem bagefter, og kan ikke rette permissions på dem.

De filer der i forvejen er på serveren (uploadet på regulær vis via ftp-client) giver ingen problemer.

Er der nogen der har gode forslag til hvordan jeg håndterer opdateringer, hvor der skal være plads til at nye filer oprettes via php? Jeg havde selv overvejet at have en bunke dummy-filer liggende, som så kan flyttes, stadig med originale permissions, men det virker som en lidt klumpet (og ikke særlig fremtidssikret) løsning.

På forhånd tak :)




Indlæg senest redigeret d. 23.08.2007 10:40 af Bruger #12356
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Jeg har testet på mit web hotel (one.com) og her bliver php-oprettede filer oprettet med file mode 0644 (Read and write for owner, read for everybody else) og dem har jeg ingen problemer med hverken at tilgå direkte eller benytte via include. Jeg kan også uden problemer ændre dem fra php med chmod("filen-to-change.php", 0755); Safe mode er On.
Filer jeg uploader via ftp bliver oprettet med file mode 0755 (Everything for owner, read and execute for others.

Hvilken file mode er der på de filer du uploader med ftp og dem php opretter?



Du skriver at du ikke kan eksekvere filerne bagefter. Hvordan starter/tilgår du filerne?



Undskyld det sene svar.

Filerne skulle derefter bruges som includes i andre, via include() funktionen. Efter include af de nye filer (dem som blev oprettet som helt nye) kom der fejl. Den kunne ikke finde filen, og jeg kunne ikke få lov at ændre permissions på den nye fil via kode.



Det er simpelthen underligt.

For en måned eller to siden da jeg testede alt det her, gik det galt hele tiden. Jeg har nu taget samme kode, tjekket at alt er som du siger, og nu ser det ud til at virke. GID for filen er også det samme som filer uploadet via ftp. Mener ikke at huske at det var sådan med ejerskab tidligere.

Nu kan jeg oprette filer med fopen(), ændre dem med chmod til anden permission-opsætning og bruge dem i include() eller require().

Men du fik mig da til at teste de ting igen, og nu virker det, hvor sært det end virker for mig.

Tak :)



t