Hostwinds Tutorials

Zoekresultaten voor:


Inhoudsopgave


Gemeenschappelijke oorzaken van PHP-geheugenfouten
Hoe PHP-geheugenfouten te herstellen
Verhoog mijn PHP-geheugen

PHP-geheugenfouten

Trefwoorden: WHM 

Gemeenschappelijke oorzaken van PHP-geheugenfouten
Hoe PHP-geheugenfouten te herstellen
Verhoog mijn PHP-geheugen

Notitie: Dit artikel is voor hostwinds-clients die toegang hebben tot WHM op hun VPS, Cloud of Dedicated Server.

Gemeenschappelijke oorzaken van PHP-geheugenfouten

Geheugengroottefouten komen vaak voor op een site gebouwd met open source CMS-systemen zoals WordPress, Joomla, Drupal en Moodle.Hoewel er nog andere factoren zijn, is de primaire oorzaak dat de standaard geheugenlimietinstelling van de PHP niet genoeg geheugen toestaat om het verzoek uit te voeren of te laden.

Hoe PHP-geheugenfouten te herstellen

De meest efficiënte manier om dit op te lossen is om de geheugenlimiet te verhogen die PHP het mogelijk maakt om te verwerken.Als u echter niet het geheugen in uw plan kunt wijzigen, kunt u de fout opstellen met behulp van de onderstaande stappen.

Een opmerking voor gedeelde hostingdiensten en hostwinds-klanten met behulp van WordPress: Het WP-Config-bestand kan mogelijk de beschikbare geheugenbeperkende geheugen beperken, omdat het minder is dan wat PHP toewijst.U kunt het bedrag van het geheugenwordpress vergroten dat in dit bestand mogelijk maakt, maar het bedrag in het PHP.INI-bestand bepaalt het toegestane bedrag.

Als u zich comfortabel voelt bij PHP, is het mogelijk om de geheugenlimiet programmatisch in uw code te verhogen.U geeft PHP extra geheugen als een stuk code wordt gebeld in plaats van een sitewide-toename voor elk PHP-proces.

\ <? php

INI_SET ('MEMORY_LIMIT', '1024M');// of je zou 1 g kunnen gebruiken

Als de fout is vastgesteld door de geheugenlimiet te vergroten en uw code nu werkt, moet u verdergaan en het geheugengebruik van uw site verder verlaagt.Hieronder staan aanbevolen stappen die u kunt nemen.Merk op dat terwijl je ze niet al ze hoef te doen, het je altijd zal helpen om je site te bewijzen:

  1. Schakel PHP-extensies uit die u niet gebruikt en niet nodig hebt.
  2. Upgrade uw PHP naar de nieuwste versie beschikbaar.PHP wordt consequent bijgewerkt en elke versie is bekend om veel minder geheugen te gebruiken dan de vorige releases.
  3. Lees bij het lezen van bestanden ze regel-by-line in plaats van het volledige bestand in het geheugen te lezen.Je kunt gebruiken fonkelen en Splfileobject :: Fgets Om dit te doen, en php.net heeft een robuuste documentatie om u onderweg te helpen.
  4. Stop met het laden van grote gegevenssets in een array en probeer kleinere subsets van de dataset te verwerken.Als u dat nodig hebt, kunt u de gegevens in een database blijven bestaan.
  5. Controleer de versies van bibliotheken van derden die u gebruikt, omdat updates van deze bibliotheken meestal minder geheugen gebruiken.
  6. Upgrade alle PHP-extensies met mogelijk geheugenlekken of verwijder ze als u ze niet gebruikt.
  7. Als regel-by-line-lezing onmogelijk is vanwege de bestandsgrootte, kunt u het bestand in veel kleinere bestanden breken en die individueel verwerken.
  8. Voor het bedrag van de code die problemen veroorzaakt, met losse variabelen met grote hoeveelheden gegevens die later in de code zijn vereist.

Bovendien, zorg ervoor dat PHP-applicaties voldoende geheugen hebben toegewezen aan hen.Als het te laag is, zal het een fatale fout veroorzaken.

Verhoog mijn PHP-geheugen

Als alternatief bent u hier de stappen die u kunt nemen om de geheugenlimiet te verhogen.Houd er rekening mee dat als u op een gedeelde hostingplan bent, u uw service moet upgraden om dit te doen.

Stap 1: Log in bij WHM voor de server die u gaat upgraden.Merk op dat u details kunt vinden om in te loggen bij uw WHM in de ontvangst van het welkomstmail.

Stap 2: Ga naar de PHP-configuratie-editor.

Stap 3: Bewerk de variabele "MEMORY_LIMIT" tot de grootte die u wenst.

Stap 4: Sla uw wijzigingen op.

Hoewel dit een tijdje kan helpen, zullen de fouten waarschijnlijk terugkeren.Als u deze fout krijgt, is er een hoge waarschijnlijkheid dat uw code moet worden getrimd en geoptimaliseerd.

Opmerking voor gedeelde hosting-services en hostwinds-clients met WordPress: het WP-Config-bestand kan mogelijk de beschikbare geheugenbeperkende geheugen beperken, omdat het mogelijk minder is dan wat PHP toewijst.U kunt het bedrag van het geheugenwordpress vergroten dat in dit bestand mogelijk maakt, maar het bedrag in het PHP.INI-bestand bepaalt het toegestane bedrag.

Voorbeeld: Als PHP slechts 128 MB toestaat en u het WP-Config-bestand wijzigen om 512 MB toe te staan, krijgt u slechts 128 MB.Maar PHP kan meer dan het WP-config-bestand toestaan, dus het vergroten van het bedrag in de WP-config kan helpen als dat het geval is.Als u uw account hebt geüpgraded naar een VPS- of Dedicated Server, kunt u deze instelling volledig bedienen.

Geschreven door Hostwinds Team  /  december 13, 2016