Probleemoplossing
PHP-extensies en -instellingen
Which PHP versions and extensions KapsuleHost web hosting provides, which settings you can change yourself, and why a change can take up to five minutes to appear.
Welke PHP-versies en extensies KapsuleHost webhosting biedt, welke instellingen u zelf kunt wijzigen, en waarom een wijziging tot vijf minuten kan duren voordat deze zichtbaar is.
Alles wat te maken heeft met PHP voor een site bevindt zich op één plek: Websites, klik op de site, Geavanceerd, vervolgens PHP. Die pagina bevat de versiekeuzzer, de instellingen die u kunt wijzigen, een Composer-runner en het PHP-foutenlogboek.

Een PHP-versie kiezen
Vier versies zijn selecteerbaar: 8.4, 8.3, 8.2 en 8.1. Nieuwe sites hebben standaard versie 8.3.
Kies de nieuwste versie die uw software daadwerkelijk ondersteunt. Nieuwere PHP is aanzienlijk sneller en wordt langer ondersteund met beveiligingsupdates. De reden om niet direct naar de nieuwste versie over te gaan is compatibiliteit: een oude plugin of aangepaste code die jaren geleden is geschreven, kan volledig mislukken op een versie waartegen deze nooit is getest.
Om dit te wijzigen, selecteert u de versie en klikt u op Versie toepassen. De wijziging wordt onmiddellijk van kracht, zonder dat u iets hoeft op te starten en zonder downtime.
Wijzig eerst de PHP-versie op staging, klik door de site heen, en wijzig deze pas daarna op production. Als u het live moet doen, doe het wanneer u kunt toekijken, en weet dat terugschakelen naar de vorige versie slechts één klik is. Zie Staging-omgevingen.
Als een versieverandering de site beschadigt, schakel dan terug naar de vorige versie en lees het logboek. De fout zal het bestand noemen dat niet kon worden uitgevoerd. Zie PHP-versie wijzigen en Foutenlogboeken.
Instellingen die u kunt wijzigen
De PHP-pagina stelt vijf instellingen beschikbaar als vervolgkeuzelijsten. Dit zijn de instellingen die in de praktijk werkelijk problemen veroorzaken, en daarom worden deze weergegeven.
| Instelling | Standaard | Beschikbare waarden | Wat dit regelt |
|---|---|---|---|
memory_limit | 256M | 128M, 256M, 512M, 1024M, 2048M | Hoeveel geheugen één verzoek mag gebruiken |
max_execution_time | 30 | 30, 60, 120, 300, 600 | Hoeveel seconden één verzoek mag duren |
upload_max_filesize | 64M | 16M, 32M, 64M, 128M, 256M | Het grootste bestand dat kan worden geüpload |
post_max_size | 65M | 17M, 33M, 65M, 129M, 257M | De grootste totale formulierinzending |
max_input_vars | 3000 | 1000, 3000, 5000, 10000 | Hoeveel velden één inzending mag bevatten |
Welke u nodig hebt:
- Uploads mislukken boven een bepaalde grootte: verhoog
upload_max_filesizeenpost_max_sizeervan. - Een groot formulier of een paginabouwer verliest velden bij het opslaan: verhoog
max_input_vars. Dit is onzichtbaar en irritant, omdat er geen fout optreedt. De extra velden worden stilzwijgend verwijderd. - Een pagina stopt halverwege zonder fout: verhoog
memory_limit. Zie WordPress-geheugengelimi. - Een lange import of export loopt uit: verhoog
max_execution_timeen overweeg om de taak in plaats daarvan vanaf de opdrachtregel uit te voeren. Zie WP-CLI.
post_max_size moet groter zijn dan upload_max_filesize, omdat de upload in het bericht reist. Als u een combinatie kiest waarbij dit niet het geval is, corrigeert het platform post_max_size voor u. Daarom kunt u een waarde zien die u niet hebt gekozen.
Waarom een wijziging tot vijf minuten duurt
Dit is de meest voorkomende verwarring op deze pagina, dus het is het waard om precies te zijn.
Uw instellingen worden geschreven naar een .user.ini-bestand in de documenthoofdmap van uw site. PHP leest dat bestand en plaatst het vervolgens 300 seconden lang in cache, wat vijf minuten is. Totdat die cache verloopt, blijft PHP de vorige waarden gebruiken.
Dus na het opslaan van een wijziging:
- De pagina rapporteert nog tot vijf minuten de oude limiet.
phpinfo()rapporteert nog tot vijf minuten de oude limiet.- Een harde vernieuwing helpt niet. Het wissen van uw browsercache ook niet.
- U hoeft niets opnieuw op te starten, en dat kunt u ook niet doen. Wacht gewoon.
Als meer dan vijf minuten zijn verstreken en de waarde is niet veranderd, klopt er iets niet en is het de moeite waard om een ticket in te dienen.
.user.ini zelf bewerken
U kunt .user.ini rechtstreeks bewerken via SFTP of SSH als u dat liever doet, of als u een richtlijn nodig hebt die het paneel niet weergeeft. Het bevindt zich in de documenthoofdmap van uw site. Zie SFTP-toegang.
Indeling: één richtlijn per regel:
memory_limit = 512M
max_execution_time = 120
Twee belangrijke beperkingen op wat .user.ini kan doen:
Het werkt alleen voor richtlijnen die PHP per map of per gebruiker mag instellen. De vijf bovenstaande kwalificeren allemaal. Richtlijnen die alleen op systeemniveau kunnen worden ingesteld, zoals disable_functions of het laden van een extensie met extension=, worden genegeerd in een .user.ini-bestand. Ze geven geen fout, ze doen eenvoudig niets, daarom besteden mensen er een middag aan.
Het paneel leest alleen eenvoudige sleutels terug. Richtlijnen met een punt erin, zoals opcache.enable of date.timezone, worden door PHP gerespecteerd maar verschijnen niet in het paneelformulier. Als u er een handmatig instelt en later iets wijzigt via het paneel, controleer het bestand daarna.
Kapsule webhosting gebruikt nginx, niet Apache. .htaccess-bestanden worden door niemand gelezen. PHP-richtlijnen in een .htaccess-bestand, zoals php_value memory_limit, doen hier absoluut niets. Gebruik .user.ini of het paneel. Zie WordPress en .htaccess.
Welke extensies zijn beschikbaar
De standaardversie is uitgebreid en bevat alles wat WordPress, WooCommerce en de meeste PHP-toepassingen vragen.
Databases: mysqli, pdo_mysql, sqlite3, pdo_sqlite
Afbeeldingen: gd, imagick, exif
Caching: Zend OPcache, redis, memcached
Tekst en taal: mbstring, iconv, intl, gettext, ctype
XML en gegevens: dom, simplexml, xml, xmlreader, xmlwriter, xsl, json
Netwerk: curl, soap, sockets, ftp, openssl
Wiskunde en crypto: bcmath, sodium, hash, random
Bestanden en systeem: fileinfo, zip, zlib, phar, posix, pcntl, shmop, calendar, tokenizer
Een versieverschil dat de moeite waard is om te weten: de extensie imap is aanwezig op 8.3 en eerder, maar niet op 8.4, omdat deze uit PHP zelf in die release is verwijderd. Als u een toepassing hebt die dit nog nodig heeft, blijf op 8.3 of zet die toepassing over naar een moderne e-mailbibliotheek.
Niet geïnstalleerd: PostgreSQL-stuurprogramma's, MongoDB, Xdebug, mcrypt en commerciële codeloaders zoals ionCube en SourceGuardian.
U kunt extensies niet zelf inschakelen of uitschakelen vanuit het paneel. Als uw toepassing iets nodig heeft dat niet in de lijst staat, dient u een ticket in en beschrijft u wat u gebruikt. Of dit kan worden toegevoegd, hangt af van de extensie. Zie Een ondersteuningsticket openen.
Controleren wat werkelijk is geladen
In plaats van gissen:
- Op WordPress: Tools, vervolgens Site Health, vervolgens Info, vervolgens Server. Het geeft de PHP-versie en de relevante limieten weer.
- Via SSH:
php -vvoor de versie enphp -mvoor de geladen extensies. Zie SSH-sleutels toevoegen.
Laat geen phpinfo()-bestand in uw webroot achter. Het publiceert uw paden, extensies en configuratie naar iedereen die het vindt, en geautomatiseerde scanners zoeken naar precies die bestandsnaam. Als u er een maakt om iets te controleren, verwijder het onmiddellijk daarna.