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
- Ga naar Accounts, open je account en kies het tabblad Websites.
- Klik op de rij van de website. Het paneel van die website schuift open.
- 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.nlEen 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:
| Instelling | Wat het doet |
|---|---|
memory_limit | Hoeveel geheugen één paginaverzoek mag gebruiken. Verhoog dit bij "allowed memory size exhausted". |
max_execution_time | Hoe lang één paginaverzoek mag duren, in seconden. Verhoog dit voor lange imports. |
upload_max_filesize | Het grootste bestand dat een bezoeker mag uploaden. |
post_max_size | De grootste formulierinzending. Houd dit gelijk aan of groter dan de uploadgrootte. |
max_input_vars | Hoeveel velden één formulier mag versturen. Grote menu's in WordPress hebben er meer nodig dan standaard. |
display_errors | Of 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 showAls er iets misgaat
- "is capped at … by …" — de melding noemt de laag.
the node's PHP policyis 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.