2012-11-22 7 views
6

Ho fatto un'installazione pulita di Apache e PHP sulla mia macchina virtuale CentOS6, ho anche creato una cartella condivisa e la uso come la mia radice del documento.Linked (CSS) e script non aggiornano il contenuto sulla mia macchina virtuale con una radice di documento cartella condivisa

Tutto funziona perfettamente, posso accedere al sito Web, eseguire tutte le operazioni che desidero e posso modificare i file PHP sulla mia workstation e saranno immediatamente aggiornati durante il test in un browser.

Tuttavia, quando si modificano CSS e JavaScript, file "collegati" al sito web, si verifica un problema strano, quando si esegue un ricaricamento della pagina senza cache, non aggiornano il contenuto, tuttavia aggiornano il content-length.

Quindi, se ho aggiunto qualcosa a uno script, mi fornirà lo stesso contenuto, con una maggiore lunghezza del contenuto e tenterò di correggerlo aggiungendo segni di caratteri sconosciuti (la cosa del punto interrogativo quadrato).

Se rimuovo qualcosa accade il contrario, riconosce che la lunghezza del contenuto è più breve e inizia a rimuovere le cose alla fine.

Questo è successo in due installazioni pulite e ho provato a Google per qualcuno con lo stesso problema ma la natura diffusa del problema rende difficile la definizione.

Ho provato tutte le configurazioni di Apache possibili per forzare i risultati senza cache tutti senza fortuna.

L'unica cosa che ho trovato per forzare l'aggiornamento è una rimonta della cartella condivisa

Se avete bisogno di ulteriori informazioni Sono felice di fornirlo!

+1

Hai provato due diversi browser? Quando aggiorni la pagina con la prima e non noti la modifica, apri la pagina con l'altra e vedi se ha lo stesso aspetto o ha il nuovo aspetto. Probabilmente è una cache lato server. – JorgeeFG

+0

Sì, ho provato diversi browser, entrambi con lo stesso problema, il contenuto non è aggiornato, la lunghezza del contenuto è. –

risposta

0

Beh, c'è sicuramente un po 'di cache in corso da qualche parte.

La mia strategia per gestire questo è aggiungere lo filemtime() del file .css /.js alla fine del collegamento.

si finisce con link come

<link type='text/css' rel='stylesheet' media='screen' href='stylesheet.css?1352889543' /> 

in questo modo, né il server né il navigatore può eventualmente memorizzare nella cache un file che da allora è stato modificato.

+0

L'aggiunta del filemtime non ha alcun effetto, lo stesso problema esiste ancora. Vale la pena notare che il filemtime si aggiorna, quindi atleast php sa che il file viene aggiornato. –

+0

Quindi, esclude completamente qualsiasi problema di memorizzazione nella cache del server o del browser. –

1

Mentre stavo iniziando a sospettare che il problema non fosse nella cache, nessun altro problema era leggermente fuori dalla mia portata in quanto non avevo funzionato molto con virtualbox.

Tuttavia, un mio collega ha notato che vboxsf "è meno che buono" (non proprio in quelle parole). Quindi, quando avevo qualcos'altro da fare in una ricerca, era più facile da definire e presto!

https://forums.virtualbox.org/viewtopic.php?f=3&t=1940&p=6680&hilit=shared+folder+apache#p6680

che porta a questo:

http://httpd.apache.org/docs/2.0/faq/error.html#error.sendfile

disattivarli risolto questo problema per me!

Problemi correlati