symfony - Problemer med at rydde cache og tilladelser på cache dir i Symfony2 projekter på Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger Windows 10 og kører forskellige Sf-projekter på forskellige versioner af Symfony fra 2,3 til 3,2. Jeg har haft disse problemer i alle dem siden for evigt (også på Win 7). I nogle projekter er det permanent, i andre tilfældigheder, når du rydder cache, ting går bonkers - nogle gange kan det ikke omdøbe en mappe, nogle gange kan det ikke slette en fil, nogle gange kan den ikke åbne en. Eksempler:


[SymfonyComponentDebugExceptionContextErrorException] Warning: file\_put\_contents(H:\_Moje\_dydyDocumentsProjektyatmsrc/var/cache/dev/classes.map): failed to open stream: Permission denied


Denne er meget almindelig (men kun i nogle projekter!):


[SymfonyComponentFilesystemExceptionIOException] Cannot rename "H:\_Moje\_dydyDocumentsProjektyfriendly\_scoresrc\_rainfinappcachede\_" to "H:\_Moje\_dydyDocumentsProjektyfriendly\_scoresrc\_rainfinappcachedev".


I nogle tilfælde hjælper fuldstændig aftørring af cache dir med admin rettigheder. I nogle er det ikke, og i nogle andre tilfælde er det helt umuligt (sletning af indholdet). Mange gange, da jeg ikke kunne slette mappen og kigget i NTFS-tilladelser i nogle mapper i cachemappen Jeg så fuldstændigt kaos som dette:


Indtast billedbeskrivelse her [3]


Bemærk gentagne optegnelser for samme brugere, flere 'særlige' rettigheder (de har meget underlige sæt tilladelser inden for dem, der ofte er i modstrid med hinanden).


I nogle 'tyngre' tilfælde har det ikke kun interfereret med cachen: slet kommandoen, men også brudt applikationen helt. I de fleste tilfælde havde det brug for meget dybe indgreb, så jeg bare kunne slette cache dir'en (nogle underkataloger havde så vanvittige tilladelser, at selv som adminbruger jeg ikke kunne slette dem og måtte blandes med tilladelser først).


Her er hvad jeg bruger lige nu:



  • Windows 10 (også sket i Windows 7);

  • XAMPP med PHP 7.1 og Apache 2.4 (skete på ældre versioner med PHP 5.6 og 5.4 også);

  • Netbeans 8.2 som IDE (også sket med tidligere versioner);

  • cygwin at køre CLI-kommandoer;

  • git.



Mit primære spørgsmål er: Hvad blander sig med disse tilladelser på sådan en skør måde? Apache + PHP, mens du opretter cache på runtime? Netbeans, selvom det ignorerer cache og log dirs (teoretisk - jeg har ikke specifikt sat dem til at ignorere listen i NB)? Git, selv dem disse dirs ignoreres i hver repo (temmelig usandsynlig)? Mig, mens du kører CLI kommandoer via cygwin (også temmelig usandsynlig)?


Jeg har kæmpet for lang tid til ingen nytte ...


Har du nogen indblik i dette? Tak.

Bedste reference


Jeg havde lignende problemer ....

Indtil jeg skiftede fra xampp til laragon


Jeg ved, det lyder underligt, men i mit tilfælde løste det alle problemerne.

Andre referencer 1


Symfony giver en dokumentation om disse tilladelsesproblemer:
http://symfony.com/doc/current/setup/file\_permissions.html[4]


Du kan også gøre brug af umask (002) før hele programmet, eller indstil ACL.
ACL og umask begge sætte en standard adgangsrettighed for alle nye filer.