PHP-konfigurationen er bestemmende for hvordan webserveren afvikler PHP-scripts. Denne konfiguration indholder blandt andet indstillinger for hukommelse og timeouts for PHP-scripts. Disse enkelte indstillinger kaldes for PHP directives. Denne samlede konfiguration kendes også som php.ini - Men php.ini filen er blot en af flere metoder at sætte PHP-konfigurationen.
I de fleste tilfælde vil der ikke være behov for at ændre PHP-konfigurationen for en hjemmeside, men der kan være specielle situationer hvor det er nødvendigt.
Det er ikke muligt at ændre i selve php.ini-konfigurationen, da denne styres af Netsites platform. Det er heller ikke muligt at ændre PHP-konfiguration via .htaccess da vi ikke benytter Apache mod_php til PHP afvikling, men PHP-FPM.
Men det er muligt at overskrive directives i PHP-konfigurationen via ini_set()-funktionen. Dette gøres ved direkte i PHP-scriptet, at kalde funktionen ini_set() med ønsket PHP-konfiguration. Denne PHP-konfiguration gælder så længe scriptet eller dens child-processer afvikles.
Memory directives på Netsite hosting
Følgende directives er afhængig af størrelsen på sitet hos Netsite:
post_max_size, memory_limit og upload_max_filesize
- Smallsite = 256M
- Mediumsite = 512M
- Largesite = 1024M
Disse directives kan ikke ændres til over dette niveau med ini_set() funktionen.
Hvilket directives kan ændres med ini_set()?
Der findes et stort antal PHP directives der kan indstiller med ini_set() funktionen. En fuld oversigt kan ses på PHP udviklernes dokumentations side https://www.php.net/manual/en/ini.list.php - Her kan alle directives med modes PHP_INI_ALL og PHP_INI_USER sættes via ini_set() funktionen.
Brug ini_set() med Wordpress
For at ændre PHP-indstillinger med ini_set() funktionen kræver det at den funktion kaldes på et tidspunkt under en forespørgsel til hjemmesiden. I en WordPress installation kan man med fordel benytte functions.php i ens themes folder. Denne functions.php fil afvikles altid når WordPress modtager en forespørgsel, både for besøgende på frontend samt backend på administrator delen.
For eksempel hvis man ønsker at ændre max_execution_time directive for alle forespørgsler til ens WordPress installation kan man indsætte følgende linje nær toppen i functions.php for jeres aktive theme:
ini_set('max_execution_time', 300);
Problematikken med at bruge functions.php scriptet til at sætte PHP directives er i midlertidig at en opdatering af ens theme kan resultere i at functions.php overskrives.
Brug for yderligere PHP-indstillinger?
Hvis man mod forventningen støder ind i problemer med PHP-indstillinger der for eksempel ikke kan sættes som mode PHP_INI_ALL og PHP_INI_USER er I velkommen til at kontakte vores support.