Verwijder de Nextcloud OPcache-waarschuwing door de rechterlimiet aan te passen.

Om de Nextcloud-waarschuwing "De PHP OPcache is niet correct geconfigureerd" te verhelpen, opent u de volledige waarschuwing in de beheerdersinstellingen → Overzicht en verhoogt u vervolgens alleen de OPcache-limiet die wordt aangegeven in de PHP-configuratie die door de webserver wordt gebruikt. Start de betreffende PHP-service opnieuw en controleer de waarschuwing nogmaals; het wijzigen van alleen de PHP-configuratie via de opdrachtregel verandert mogelijk niet wat Nextcloud gebruikt.

Als Nextcloud bijvoorbeeld meldt dat de buffer voor geïnterneerde tekenreeksen bijna vol is, opcache.interned_strings_bufferis het verhogen van 16 naar 32 MB een redelijke eerste aanpassing, mits de server over voldoende RAM beschikt. Een andere waarschuwing, bijvoorbeeld over scripts in de cache of gedeeld geheugen, vereist een andere instelling.

Waarom geeft Nextcloud deze OPcache-waarschuwing weer?

OPcache slaat gecompileerde PHP-bytecode op in gedeeld geheugen, waardoor de hoeveelheid compilatie die nodig is voor herhaalde webverzoeken wordt verminderd. Het reserveert ook ruimte voor geïnterneerde strings, waardoor PHP identieke strings kan hergebruiken. Deze capaciteiten zijn afzonderlijke limieten, dus het vergroten van de ene lost niet noodzakelijkerwijs een waarschuwing over een andere op.

Volgens de documentatie voor serveroptimalisatie van Nextcloud 35 waarschuwt het beheerderspaneel wanneer de OPcache-groottebeperking meer dan 90% van de toegewezen capaciteit overschrijdt. Het bericht kan specifiek melding maken van een bijna volle buffer met geïnterneerde tekenreeksen, een beperkt aantal scripts in de cache of onvoldoende gedeeld geheugen. Deze details bepalen welke oplossing nodig is.

Nextcloud vereist dit ook opcache.save_comments=1, omdat het afhankelijk is van het behoud van PHP-codecommentaren. Een uitgeschakelde OPcache-extensie of het uitschakelen van het behoud van commentaren is daarom een ​​configuratieprobleem, en niet slechts een probleem met de cachegrootte.

1. Identificeer de situatie die aandacht behoeft.

Meld u aan als beheerder, ga naar Beheerinstellingen → Overzicht en lees de volledige OPcache-waarschuwing. Noteer de exacte instructie als deze wordt genoemd. Ga er niet van uit dat elke OPcache-waarschuwing betekent dat de buffer voor geïnterneerde tekenreeksen te klein is.

  • De buffer voor geïnterneerde tekenreeksen is bijna vol: controleer opcache.interned_strings_buffer.
  • OPcache gedeeld geheugen bijna vol: controleer opcache.memory_consumption.
  • Scripts of sleutels in de cache die de limiet bijna bereiken: controleer dit opcache.max_accelerated_files.
  • OPcache uitgeschakeld of opmerkingen niet bewaard: controleer opcache.enableen opcache.save_comments.

2. Zoek de PHP-configuratie die Nextcloud gebruikt.

Op Debian- of Ubuntu-servers die PHP-FPM gebruiken, is de PHP-configuratie meestal georganiseerd op basis van de PHP-versie en de server-API. Zo kan PHP 8.3 FPM bijvoorbeeld bestanden lezen onder /etc/php/8.3/fpm/conf.d/, terwijl de PHP-module van Apache mogelijk bestanden leest onder /etc/php/8.3/apache2/conf.d/.

Om te zien welke PHP-FPM-services er op een systemd-host beschikbaar zijn, voert u het volgende commando uit:

systemctl list-units --type=service 'php*-fpm.service'

Controleer de betreffende OPcache-bestanden en vervang deze door uw geïnstalleerde PHP-versie:

sudo ls -l /etc/php/8.3/fpm/conf.d/*opcache*
sudo grep -R 'opcache\.' /etc/php/8.3/fpm/conf.d/

Als er geen bestanden worden gevonden, controleer dan de hoofdconfiguratie php.inien de verpakkingsconventies van uw distributie. De opdracht php --iniis handig om de CLI PHP-configuratie te achterhalen, maar CLI en PHP-FPM laden mogelijk verschillende instellingen.

Voor Docker of Nextcloud All-in-One moet u de PHP-configuratie in de Nextcloud-container controleren en een ondersteunde methode voor permanente configuratie gebruiken. Het bewerken van hostbestanden /etc/phpconfigureert PHP in een container meestal niet; het bewerken van een gegenereerd containerbestand kan bovendien ongedaan worden gemaakt bij het opnieuw opstarten.

3. Verhoog de gerapporteerde limiet zonder de niet-gerelateerde instellingen te wijzigen.

Maak een back-up van het betreffende configuratiebestand voordat u een wijziging aanbrengt. Bij een standaard Debian/Ubuntu PHP-FPM-installatie is een onderhoudbare aanpak het toevoegen van een lokale override in de FPM- conf.ddirectory van die PHP-versie. Controleer of deze directory daadwerkelijk wordt geladen door uw PHP-FPM-installatie voordat u verdergaat.

Voor het voorbeeld van de buffer met geïnterneerde tekenreeksen kunt u een lokale overschrijving maken of bewerken, bijvoorbeeld /etc/php/8.3/fpm/conf.d/99-nextcloud-opcache.ini:

; Example for a warning about interned strings
opcache.interned_strings_buffer=32

Hier 32betekent 32 MB, niet 32 ​​bytes. Pas de uiteindelijke waarde aan op basis van het werkelijke gebruik en het beschikbare RAM-geheugen.

Als de waarschuwing een andere limiet noemt, gebruik dan het bijbehorende voorbeeld in plaats van alle drie klakkeloos toe te voegen:

; Example only: larger shared bytecode cache
opcache.memory_consumption=256

; Example only: allow more cached script keys
opcache.max_accelerated_files=20000

De waarden voor opcache.memory_consumptionworden uitgedrukt in megabytes, terwijl opcache.max_accelerated_fileseen limiet voor script-sleutels aangeeft. De officiële PHP OPcache-configuratiehandleiding legt de eenheden, standaardwaarden en wijzigbaarheid ervan uit.

Als de waarschuwing wijst op een uitgeschakelde OPcache of ontbrekende opmerkingen in plaats van capaciteitsproblemen, controleer dan in plaats daarvan de volgende instellingen:

opcache.enable=1
opcache.save_comments=1

Schakel Nextcloud niet uit opcache.validate_timestampsen verleng de verwerkingstijd niet aanzienlijk opcache.revalidate_freqom deze waarschuwing te negeren. Nextcloud waarschuwt dat een vertraagde cachevalidatie ervoor kan zorgen dat configuratie- en upgradewijzigingen niet direct van kracht worden.

4. Pas de nieuwe configuratie toe

Voor een voorbeeldserver waarop PHP 8.3 via PHP-FPM draait, moet u eerst de serviceconfiguratie valideren en vervolgens de betreffende service opnieuw starten tijdens een kort onderhoudsvenster:

sudo php-fpm8.3 -t
sudo systemctl restart php8.3-fpm

Vervang dit 8.3door de geïnstalleerde PHP-FPM-versie en controleer de naam van het uitvoerbare bestand en de service voordat u een van beide commando's uitvoert. Een herstart onderbreekt de verzoeken die door die pool worden verwerkt. Op Apache met mod_phpis de relevante service Apache in plaats van PHP-FPM; voor containers volgt u de gedocumenteerde herstart- of heraanmaakprocedure van uw implementatie, waarbij de configuratie behouden blijft.

Als de service niet opnieuw opstart, herstel dan uw back-upconfiguratie en controleer het foutenlogboek van PHP-FPM of de webserver.

5. Als de waarschuwing blijft verschijnen, controleer dan de geldende PHP-webinstellingen.

Vernieuw eerst de beheerdersinstellingen → Overzicht nadat de PHP-workers opnieuw zijn opgestart. Als dezelfde waarschuwing blijft verschijnen, controleer dan of de gewijzigde instructie daadwerkelijk door de web -PHP-runtime wordt geladen en niet alleen door de CLI. Controleer of er een later geladen .inibestand is of een PHP-FPM-pooloverride die uw waarde overschrijft.

Op een server die u beheert, kunt u tijdelijk PHP-waarden van een webpagina inspecteren met behulp van een diagnostisch eindpunt met strikte toegangsbeperkingen en de PHP- ini_get()functie. Laat een openbare phpinfo()pagina nooit online staan: deze kan omgevingsinformatie, paden, modules en andere gevoelige configuratiegegevens onthullen. Verwijder elk diagnostisch eindpunt onmiddellijk na de verificatie.

Voor een aanhoudende waarschuwing over de grootte van de OPcache, controleer het werkelijke OPcache-gebruik onder normale omstandigheden in plaats van de waarden herhaaldelijk te verdubbelen. De PHP- opcache_get_status()documentatie beschrijft de geheugen-, geïnterneerde-string- en cache-scriptstatistieken die beschikbaar zijn voor een actief PHP-proces.

De officiële Docker-image en All-in-One-implementaties van Nextcloud gebruiken hun eigen PHP-standaardinstellingen; ga er niet vanuit dat wijzigingen op hostniveau of aanbevolen waarden van een andere installatie behouden blijven. Raadpleeg de officiële Nextcloud Docker-repository of de officiële All-in-One-repository voor het configuratiemodel dat overeenkomt met uw implementatie.

Controleer of de oplossing werkt.

Ga terug naar de beheerdersinstellingen → Overzicht en controleer of de specifieke OPcache-waarschuwing verdwenen is. Open en herlaad een paar Nextcloud-pagina's om te controleren of de applicatie nog steeds normaal reageert. Als de waarschuwing na normaal gebruik terugkeert, controleer dan opnieuw dezelfde gemeten limiet en de effectieve web-PHP-configuratie; het doel is om voldoende ruimte over te laten zonder onnodig geheugen aan OPcache toe te wijzen.

Laat een reactie achter

Beheers de CPU-pieken van Nextcloud Preview met een geplande wachtrij.

Verplaats het genereren van miniaturen naar een gecontroleerd achtergrondschema, verklein ongebruikte voorbeeldformaten en controleer de wachtrij zonder uw Nextcloud-server te overbelasten.

Nextcloud Desktop Sync: Voorbij het "Bestanden verwerken"-scherm

Zoek naar het bestand, de uitsluitingsregel, het verbindingsprobleem of de status van de clientdatabase die de Nextcloud-synchronisatie blokkeert, en controleer vervolgens of uploads en downloads veilig verlopen.

Verwijder de Nextcloud OPcache-waarschuwing door de rechterlimiet aan te passen.

Zoek de PHP OPcache-limiet die de waarschuwing van Nextcloud veroorzaakt, werk de juiste web-PHP-configuratie bij, herstart de server veilig en controleer het resultaat.

Nextcloud verbinden met CODE Docker: installatie en afwegingen

Nextcloud verbinden met CODE Docker: installatie en afwegingen

Vergelijk de ingebouwde en op Docker gebaseerde code en verbind Collabora Online vervolgens met Nextcloud via een beveiligde HTTPS-reverseproxy.

Bouw een robuust Nextcloud-cluster met Galera

Plan een betrouwbare Nextcloud HA-implementatie met gedeelde opslag, Redis-vergrendeling, quorum-bewuste MariaDB-routering en praktische failover-controles.

Krijg Nextcloud Talk-gesprekken tot stand wanneer directe media niet werkt.

Krijg Nextcloud Talk-gesprekken tot stand wanneer directe media niet werkt.

Configureer en verifieer een bereikbare TURN-relais voor Nextcloud Talk wanneer firewalls of restrictieve NAT directe gespreksmedia blokkeren.

Verwijder Nextcloud-integriteitswaarschuwingen door de juiste bestanden te herstellen.

Gebruik het rapport met ongeldige bestanden om gewijzigde, ontbrekende of extra Nextcloud-code te identificeren, vertrouwde bestanden veilig te herstellen en het resultaat te controleren.

Verbind Gmail of Microsoft 365 met Nextcloud Mail via OAuth2.

Stel OAuth2 in voor Nextcloud Mail met Gmail of Microsoft 365, verifieer het ontvangen en verzenden van e-mails en los veelvoorkomende toestemmings- en SMTP-problemen op.

Definieer de vastgelopen Nextcloud-onderhoudsmodus veilig met OCC.

Definieer de vastgelopen Nextcloud-onderhoudsmodus veilig met OCC.

Gebruik OCC om de toegang tot Nextcloud te herstellen, de status van de databasemigratie te controleren en de juiste opdracht te kiezen voor archivering, Docker- of Snap-installaties.

Nextcloud LDAP- en Active Directory-aanmelding instellen

Verbind Nextcloud met LDAP of Active Directory, beperk de toegang met gebruikers- en groepsfilters en verifieer de veilige authenticatie vóór de uitrol.