Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Apache udostępnia nieaktualną zawartość pików – jak to zmienić?
Forum PHP.pl > Forum > Serwery WWW > Apache
Theofilos
Drodzy forumowicze,

mam Debiana, na nim Apache/2.4.10 i PHP 5.6.7-1.

Jak zmusić serwer, aby udostępniał aktualną wersję plików?

Zmieniam zawartość jakiegoś pliku php – np. abcd.php.
Otwieram go w przeglądarce (serwer.domena.pl/abcd.php).
Ładuje się stara zawartość. Jakby z jakiegoś cache.
Wyczyściłem już pamięć podręczną przeglądarki, ale to nic nie daje.
Jak zmienię np. nazwę na abcd1.php, i załaduję ten plik, to jest nowa zawartość.
Kolejna zmiana w pliku to samo.

Z pozdrowieniami
viking
Sprawdź cache albo ustaw odpowiedni nagłówek cache w samym pliku php.
Theofilos
Jak sprawdzić ten cache?

Mam pusty katalog "/var/cache/apache2/mod_cache_disk".
W "/etc/apache2/mods-enabled" mam cache.load z zawartością
Kod
LoadModule cache_module /usr/lib/apache2/modules/mod_cache.so
.
Theofilos
Dziękuję bardzo.
To dość ogólny opis i chyba uniwersalny, a mi chodziło o to, gdzie w tym Apache to ustawić.
No ale może znajdę.

Dodałem
Kod
<FilesMatch ".(htm|php|html)$">
    Header set Cache-Control "no-cache"
</FilesMatch>

do pliku /etc/apache2/apache2.conf,
ale jest bez zmian.
viking
Pokaż nagłówki z inspektora przeglądarki. Chrome też bardzo agresywnie trzyma cache.
Theofilos
O https://zapodaj.net/images/bc6dba2b6db5d.jpg chodzi?

To chyba nie jest problem przeglądarki.
Otworzyłem stronę w innej przeglądarce Operze (wcześniej Firefox) i też jest stara zawartość.
Otworzyłem stronę w prywatnym trybie i też jest stara treść.
Otworzyłem stronę na innym komputerze, gdzie w ogóle nie była ona otwierana i też jest stara treść.
Apache serwuje tę treść.
Gdy zmienię nazwę pliku i załaduję w przeglądarce to jest właściwa treść.
Gdy znowu w pliku coś zmienię to ponownie ładuje się treść sprzed zmiany.
Po raz kolejny mogę zmienić nazwę i znowu jest dobrze.

Tutaj jeszcze wyciąg z działania phpinfo(), zawierający parametry mające w nazwie "cache".

Dodam jeszcze, że jak coś zmieniam w pliku html, to zawartość wyświetla się w przeglądarce aktualna.
Czyli problem dotyczy php. Jak w pliku PHP coś zmienię, to się wyświetla stara zawartość.
Jak zrestartuję Apache2, to się wyświetla aktualna.
Po zmianie zawartości pliku PHP ten sam problem.
trueblue
Próbowałeś?
https://stackoverflow.com/questions/2155643...che-temporarily
Theofilos
9 maja 2022 19:38
Zmieniłem nazwę pliku /etc/php5/apache2/conf.d/05-opcache.ini na kompletnie inną z innym rozszerzeniem i zrestartowałem Apache2.
Teraz zawartość plików PHP wyświetla się prawidłowo po każdej zmianie i przeładowaniu w przeglądarce jest nowa zawartość.
W tym samym momencie chyba na to "opchace" wpadliśmy.
Dziękuję bardzo.
Nie wiem tylko, czy usunięcie pliku (zmiana nazwy) jest prawidłowa, czy lepiej dokonać innej zmiany.
trueblue
Ja bym spróbował wyłączyć moduł.
Jeśli nie chcesz, to sprawdź czy nie odkładają się gdzieś w logach błędy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.