Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4650

Re: realpath-Cache abschalten

From Arno Welzel <usenet@arnowelzel.de>
Newsgroups de.comp.lang.php
Subject Re: realpath-Cache abschalten
Date 2021-01-26 14:14 +0100
Message-ID <i7aitrFhf6hU1@mid.individual.net> (permalink)
References <1t60100a88i20d3n3e8%sfroehli@Froehlich.Priv.at>

Show all headers | View raw


Stefan Froehlich:

> Seit ich auf meinem größten Server von PHP7.0 auf PHP7.3 umgestiegen
> bin (ich weiss, ein bisschen arg spät, aber wer im Jahr 2005 eine
> Klasse "Object" nennt, muss im Jahr 2020 halt leiden), nervt mich
> das deutlich agressivere Caching von PHP. Ich verwende symbolische
> Links zum Umschalten der Software-Version einzelner vhosts, und das
> macht seit dem Versionswechsel Probleme (sprich: Nach einer
> Linkänderung ist meistens, aber nicht immer, auch ein Anschubsen des
> Webservers nötig, damit der Wechsel erkannt wird).
> 
> Immerhin weiss ich inzwischen schon, woher das wohl kommt:
> <https://blog.forrest79.net/?p=537>
> 
> Ideal wäre, wenn der Cache (nur) innerhalb eines Requests aktiv
> wäre; 99%+ der eingebundenen Files liegen in einigen, wenigen
> Verzeichnissen, deren einmalige Auflösung völlig irrelevant wäre.

Dann wäre der Cache aber überflüssig, da dann ohnehin alles direkt neu
geladen werden muss.

> Ich sehe an Konfigurationsmöglichkeiten jedoch nur
> <https://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size> und
> <https://www.php.net/manual/en/ini.core.php#ini.realpath-cache-ttl>,
> die beide request-übergreifend arbeiten. Das geht also offenbar
> nicht.

Korrekt - denn beim Cache geht es ja gerade darum, die Daten über
mehrere Aufrufe hinweg vorzuhalten, damit die Scripte eben nicht
jedesmal neu gladen und interpetiert werden müssen.

> Aber auch globales Deaktivieren (mit der schwächeren Performance
> müsste ich halt leben) scheint schwierig zu sein; ich habe
> inzwischen:
> 
> #v+
> realpath_cache_size = 0
> realpath_cache_ttl = -1
> #v-
> 
> in meiner php.ini stehen (und das wird von phpinfo() bestätigt),
> aber *trotzdem* verlangt der Webserver teilweise einen Schubs, bis
> er einen geänderten Link an die Applikation weiterreicht.

Dann hat wohl der Server noch einen Handle offen. Denn mehr als
"realpath_cache_size = 0" kann man nicht machen, um den Cache
funktionslos zu machen.

> Wie bekomme ich das weg?

Nichts, außer die betroffenen Dienste neu zu starten.

Ist eine Downtime von ein paar Sekunden wirklich ein Problem? Dann würde
ich eine redundante Infrastruktur mir Load Balancer aufbauen, statt mit
Links im Dateisystem herumzubasteln, was IMHO einer eher untaugliche
Lösung für das Problem ist.


-- 
Arno Welzel
https://arnowelzel.de

Back to de.comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

realpath-Cache abschalten Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-01-26 12:39 +0000
  Re: realpath-Cache abschalten Arno Welzel <usenet@arnowelzel.de> - 2021-01-26 14:14 +0100
    Re: realpath-Cache abschalten Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-01-26 13:50 +0000
      Re: realpath-Cache abschalten k@rl.pflaesterer.de (Karl Pflästerer) - 2021-01-26 15:14 +0100
        Re: realpath-Cache abschalten Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-01-26 20:34 +0000
        Re: realpath-Cache abschalten Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-02-12 20:09 +0000

csiph-web