CoreCP

PHP settings for a website

PHP is the program that runs your website's code. Almost every site works on the default settings, and you never have to touch this screen. You come here when something specific asks you to: a webshop that wants more memory for an import, a

Written for: Customer, Reseller, Administrator

PHP is the program that runs your website's code. Almost every site works on the default settings, and you never have to touch this screen. You come here when something specific asks you to: a webshop that wants more memory for an import, a plugin that needs the redis extension, an old script that needs more than two minutes to finish.

Everything on the screen is bounded. Your hosting provider decides what a website on their machine may set, and your plan can be stricter than that inside it. Every field says its ceiling and who set it, so you always know whether to change your plan or to ask your provider.

Opening the screen

  1. Go to Accounts, open your account and choose the Websites tab.
  2. Click the website's row. The panel for that website slides open.
  3. Under PHP settings, click Set up PHP.

You can also link straight to it — the address bar carries the website:

https://panel.example.com/accounts/<account>/websites?php=example.nl

Choosing a PHP version

The first section is the version. Pick the newest one your software supports; an older series stops getting security fixes and the panel marks those as end-of-life.

Changing the version restarts your site's PHP, which takes a second or two. Nothing else changes: your files, your database and your settings all stay where they are.

Turning on an extension

Extensions are extra modules PHP loads — redis for a cache, imagick for image processing. Flip the switch and the panel does the rest.

Two things are worth knowing:

  • An extension is loaded when PHP starts, so turning one on restarts your site's PHP. It applies to every website of this account on this PHP version.
  • A greyed-out switch means your provider's PHP build does not ship that module. Allowing it would not make it appear; ask your provider instead.

Changing a setting

The Settings section is the php.ini values you may change. Leave a field empty for the default. Under each field you see what it accepts, when it takes effect and what its ceiling is:

at most 256M (plan Business) · applies per visit

That reads: you may go up to 256 MB, and the number came from your plan. If the line says the server's own limit instead, your plan is not the thing standing in the way — your provider's machine is.

Fill in what you need and click Save settings. If a value is over the ceiling, the field turns red and says which layer refused it:

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

The usual ones:

SettingWhat it does
memory_limitHow much memory one page load may use. Raise it if you see "allowed memory size exhausted".
max_execution_timeHow long one page load may run, in seconds. Raise it for long imports.
upload_max_filesizeThe biggest file a visitor may upload.
post_max_sizeThe biggest form submission. Keep it at or above the upload size.
max_input_varsHow many fields one form may send. Large menus in WordPress need more than the default.
display_errorsWhether PHP errors are shown in the page. Keep this Off on a live site.

To put one back, use the small Back to the default link on the field's own label line and save.

Your own interpreter

A website that changes nothing shares one PHP interpreter with the other websites of your account. That is cheaper and right for almost everything.

The first setting or extension of your own gives this website an interpreter of its own. The panel says so before you save, and again when it happens:

This website now runs in a PHP interpreter of its own (mysite.example.nl).

Your account's limits do not change because of it: the same memory and the same processor share, now spread over one more process.

Two badges you may see

  • Not active — you set this once and your provider has since narrowed what websites may set. The value is remembered but no longer applied; if they widen it again it comes back on its own.
  • Above your plan — the setting still applies, and your plan would not let you set it that high today. It usually means your plan changed after the setting did.

From the command line

Everything on this screen is a corectl command on the machine that serves the website:

# what this website has, and which interpreter it runs in
corectl php override list example.nl

# one setting, refused by name if it is over the ceiling
corectl php override set example.nl memory_limit 256M
corectl php override unset example.nl memory_limit

# extensions
corectl php ext list example.nl
corectl php ext enable example.nl redis

# what the machine allows at all
corectl php policy show

If something goes wrong

  • "is capped at … by …" — the message names the layer. the node's PHP policy is your provider; package <name> is your plan.
  • The switch for an extension is greyed out — the build does not ship it. corectl php ext list <domain> prints what it does ship.
  • A setting seems to do nothing — check whether it is badged Not active. A setting outside what the machine allows is stored and not applied.