CoreCP

PHP-instellingen van een website

PHP is het programma dat de code van je website draait. Bijna elke site werkt prima op de standaardinstellingen, en je hoeft dit scherm nooit te openen. Je komt hier als iets erom vraagt: een webshop die meer geheugen wil voor een import, e

Geschreven voor: Klant, Reseller, Beheerder

PHP is het programma dat de code van je website draait. Bijna elke site werkt prima op de standaardinstellingen, en je hoeft dit scherm nooit te openen. Je komt hier als iets erom vraagt: een webshop die meer geheugen wil voor een import, een plugin die de extensie redis nodig heeft, een oud script dat meer dan twee minuten nodig heeft.

Alles op dit scherm heeft een grens. Je hostingprovider bepaalt wat een website op hun server mag instellen, en je pakket kan daarbinnen strenger zijn. Bij elk veld staat de grens én wie hem gezet heeft, zodat je meteen weet of je je pakket moet aanpassen of je provider moet vragen.

Het scherm openen

  1. Ga naar Accounts, open je account en kies het tabblad Websites.
  2. Klik op de rij van de website. Het paneel van die website schuift open.
  3. Klik onder PHP-instellingen op PHP instellen.

Je kunt er ook rechtstreeks naartoe linken — de website staat in het adres:

https://paneel.voorbeeld.nl/accounts/<account>/websites?php=voorbeeld.nl

Een PHP-versie kiezen

Het eerste blok is de versie. Kies de nieuwste die je software aankan; een oudere serie krijgt geen beveiligingsupdates meer, en het paneel markeert die als end-of-life.

Bij het wisselen herstart de PHP van je site, wat een seconde of twee duurt. Verder verandert er niets: je bestanden, je database en je instellingen blijven staan waar ze staan.

Een extensie aanzetten

Extensies zijn extra modules die PHP laadt — redis voor een cache, imagick voor beeldbewerking. Zet de schakelaar om en het paneel regelt de rest.

Twee dingen zijn goed om te weten:

  • Een extensie wordt geladen als PHP start, dus aanzetten herstart de PHP van je site. Het geldt voor elke website van dit account op deze PHP-versie.
  • Een uitgegrijsde schakelaar betekent dat de PHP-build van je provider die module niet meelevert. Toestaan laat hem niet verschijnen; vraag het je provider.

Een instelling wijzigen

Het blok Instellingen bevat de php.ini-waarden die je zelf mag aanpassen. Laat een veld leeg voor de standaardwaarde. Onder elk veld staat wat het accepteert, wanneer het geldt en wat de grens is:

maximaal 256M (grens van pakket Business) · geldt per bezoek

Dat betekent: je mag tot 256 MB, en dat getal komt uit je pakket. Staat er grens van de server, dan is niet je pakket de beperking maar de machine van je provider.

Vul in wat je nodig hebt en klik op Instellingen opslaan. Zit een waarde boven de grens, dan kleurt het veld rood en staat erbij welke laag hem weigert:

memory_limit is capped at 256M by package Business (asked for 512M)

De meest gebruikte:

InstellingWat het doet
memory_limitHoeveel geheugen één paginaverzoek mag gebruiken. Verhoog dit bij "allowed memory size exhausted".
max_execution_timeHoe lang één paginaverzoek mag duren, in seconden. Verhoog dit voor lange imports.
upload_max_filesizeHet grootste bestand dat een bezoeker mag uploaden.
post_max_sizeDe grootste formulierinzending. Houd dit gelijk aan of groter dan de uploadgrootte.
max_input_varsHoeveel velden één formulier mag versturen. Grote menu's in WordPress hebben er meer nodig dan standaard.
display_errorsOf PHP-fouten in de pagina worden getoond. Zet dit Off op een live site.

Terugzetten doe je met het kleine linkje Terug naar standaard op de labelregel van het veld zelf, gevolgd door opslaan.

Je eigen interpreter

Een website die niets wijzigt, deelt één PHP-interpreter met de andere websites van je account. Dat is zuiniger en voor bijna alles goed.

De eerste eigen instelling of extensie geeft deze website een eigen interpreter. Het paneel zegt dat vóór het opslaan, en nog een keer op het moment zelf:

Deze website draait nu in een eigen PHP-interpreter (mijnsite.voorbeeld.nl).

De limieten van je account veranderen daar niet door: hetzelfde geheugen en dezelfde processortijd, nu verdeeld over één proces meer.

Twee labels die je kunt tegenkomen

  • Niet actief — je hebt dit ooit ingesteld en je provider heeft daarna versmald wat websites mogen zetten. De waarde wordt onthouden maar niet meer toegepast; verruimt je provider het weer, dan komt hij vanzelf terug.
  • Boven je pakket — de instelling wordt nog toegepast, maar met je huidige pakket zou je hem niet meer zo hoog mogen zetten. Meestal is je pakket gewijzigd nadat de instelling gezet was.

Vanaf de commandoregel

Alles op dit scherm is een corectl-commando op de server die de website bedient:

# wat deze website heeft, en in welke interpreter hij draait
corectl php override list voorbeeld.nl

# één instelling, met naam en al geweigerd als hij boven de grens zit
corectl php override set voorbeeld.nl memory_limit 256M
corectl php override unset voorbeeld.nl memory_limit

# extensies
corectl php ext list voorbeeld.nl
corectl php ext enable voorbeeld.nl redis

# wat de server überhaupt toestaat
corectl php policy show

Als er iets misgaat

  • "is capped at … by …" — de melding noemt de laag. the node's PHP policy is je provider; package <naam> is je pakket.
  • De schakelaar van een extensie is uitgegrijsd — de build levert hem niet mee. corectl php ext list <domein> laat zien wat er wél in zit.
  • Een instelling lijkt niets te doen — kijk of er Niet actief bij staat. Een instelling buiten wat de server toestaat wordt bewaard en niet toegepast.