How to Create a phpinfo File to Check Your PHP Configuration in ISPConfig

This guide shows you how to create a phpinfo file for a website on your Noiz hosting account so you can see exactly how PHP is configured for that site. A phpinfo file is a tiny PHP script (usually a single line) that, when opened in a browser, prints a full report of the running PHP setup: the active PHP version, which php.ini file is actually loaded, every extension that is turned on, and the effective limits such as memory_limit and upload_max_filesize. It is the quickest way to answer questions like “which PHP version is this site really running?”, “which php.ini do I need to edit?” and “did that extension actually load?”. It is written for Noiz clients whose websites run under ISPConfig, though the same file works on any PHP host. The report also exposes a great deal about the server, so the most important instruction in this guide is the one at the end: delete the file the moment you are finished with it.

Last reviewed: 27 July 2026, against ISPConfig 3.3.1p1 (latest stable) and PHP’s built-in phpinfo() function. This guide is written for Noiz hosting and is kept current against ISPConfig and PHP. It complements, and does not replace, the official documentation linked below. The phpinfo() output itself is a standard PHP feature and looks the same on any host; ISPConfig details can vary slightly between releases, so if a screen differs, check the official links.

Official Documentation Reference

Prerequisites

  • A website on your Noiz account whose PHP configuration you want to inspect.
  • A way to upload a file into the site’s document root: an FTP or SFTP client such as FileZilla or WinSCP with the login details for that website, or a web file manager if your plan provides one.
  • To read the site’s PHP mode and version in the panel, the ability to log in to the ISPConfig control panel. This is optional; the phpinfo file works without it.

Read This First: The Security Warning

A phpinfo report is a gift to anyone probing your server. It reveals the exact PHP version (making it easy to look up known vulnerabilities for that release), the full list of loaded extensions and their versions, absolute file-system paths, the web server and its version, environment variables, and more. Leaving one on a live site is a well-known reconnaissance target and is routinely scanned for by bots.

Treat the file as strictly temporary. The safe pattern is:

  • Give it an unpredictable name, not phpinfo.php or info.php, which are the first names an attacker guesses.
  • Open it, read what you need, and delete it straight away.
  • Never leave it in place “for later”. If you need it again, it takes ten seconds to recreate.

The deletion step is covered in its own section below, and it is not optional.

Create the phpinfo File

The file contains a single PHP function call. Everything else is optional.

Write the Script

On your own computer, create a plain text file and put exactly this inside it:

<?php
phpinfo();

Save it with a .php extension and an unpredictable name. Using a short random suffix makes it far harder to stumble upon, for example:

phpcheck-7f3a9.php

Make sure your text editor does not add a hidden second extension such as .txt. The file must end in .php and nothing else, or the server will hand it back as plain text instead of running it.

Upload It to the Site’s Document Root

The file has to live in the folder that the domain serves, so that visiting the domain reaches it.

  1. Connect to the website with your FTP or SFTP client using that site’s login details.
  2. Open the site’s document root. On an ISPConfig site this is the web directory inside the site’s home folder: it is the folder that already holds your index.php or index.html. Depending on how the login is set up, your FTP client may drop you directly inside web, or you may need to open it after connecting.
  3. Upload your phpcheck-7f3a9.php file into that folder.

Open It in a Browser

Using yourdomain.com as an example for your real domain, go to the file’s address, matching the exact file name you chose:

https://yourdomain.com/phpcheck-7f3a9.php

You should see the familiar purple-and-grey PHP information table. If you see the raw <?php phpinfo(); text, a download prompt, or an error instead, jump to the Troubleshooting section.

What to Look For in the Report

The report is long, but for the common questions you only need a handful of lines. Use your browser’s find function (Ctrl+F, or Cmd+F on a Mac) to jump to each one.

The Active PHP Version

The big heading at the very top reads PHP Version 8.x.x (or whichever version applies). This is the version the website is genuinely executing, which is the only version that matters when a plugin or application says it needs a minimum PHP release. It can differ from what a command-line check reports, which is why the browser view is the authoritative one for a website.

The php.ini That Is Actually Loaded

Search for Loaded Configuration File. Its value is the full path to the main php.ini the site is using, for example /etc/php/8.2/fpm/php.ini. This is the single most useful line in the whole report: it tells you precisely which file governs the settings, so you are never editing the wrong one.

Just below it, Scan this dir for additional .ini files and Additional .ini files parsed list the extra fragment files (often one per extension) that PHP loads on top of the main file. If a setting is not where you expect it in the main php.ini, it is frequently being set in one of these fragments instead.

On an ISPConfig site the path is also a clue to how any per-site override was applied. A site in PHP-FPM mode loads the server-wide php.ini for its PHP version, because its custom settings are written into that site’s own FPM pool configuration rather than into a separate php.ini. A site in Fast-CGI, CGI or SuPHP mode that has custom settings gets a generated per-site php.ini instead, so the path points into the site’s own configuration directory rather than the system one under /etc.

Which PHP Mode Is in Use

Search for Server API. A value such as FPM/FastCGI, CGI/FastCGI, or Apache 2.0 Handler tells you which PHP mode the site runs under. This maps directly to the PHP mode set for the website in ISPConfig (PHP-FPM, Fast-CGI, and so on), which is useful when a change you made in the panel does not seem to be taking effect: the Server API confirms the mode PHP is really serving requests with.

Whether an Extension Is Loaded

Each enabled extension has its own titled section in the report, for example gd, curl, mysqli, intl, imagick, or opcache. To confirm one is present, use find to search for its name: if there is a section header for it, it is loaded; if there is no match anywhere on the page, it is not enabled for this site’s PHP version. This is the fastest way to settle an application’s “required extension” error.

The Effective Limits, and the Local vs Master Trick

In the Core section near the top you will find the limits people most often need to check:

  • memory_limit: how much memory a single script may use.
  • upload_max_filesize and post_max_size: the largest file, and the largest whole request, that can be uploaded.
  • max_execution_time: how long a script may run before it is stopped.
  • max_input_vars: how many form or array fields a request may contain (a common culprit behind large menus or imports silently failing).

Each setting shows two columns: Local Value and Master Value. The Master Value is the server-wide default from the main php.ini; the Local Value is what is actually in force for this site after any per-site overrides. On an ISPConfig site, anything entered in the Custom php.ini settings field on the website’s Options tab shows up here as a Local Value that differs from the Master Value, which is a quick way to confirm an override took effect. That tab is shown only to administrator logins, and to reseller logins where the server permits it, so on a Noiz-managed site the change is made for you: ask the Noiz support team for the limit you need, then reload the phpinfo page and check the Local Value. Always trust the Local Value as the real limit for the site.

How This Fits ISPConfig’s Per-Site PHP

ISPConfig lets each website choose its own PHP handling, which is exactly why a phpinfo check is worth doing per site rather than assuming a server-wide answer. Open the site under Sites > Websites > Website: two fields on its Domain tab shape what the report will say:

  • PHP, which either disables PHP for the site or sets the mode it runs under (PHP-FPM, Fast-CGI, and similar). The report reflects the mode in its Server API line.
  • PHP Version, which selects among the PHP releases installed on the server. This dropdown appears only when PHP is set to Fast-CGI or PHP-FPM; the other modes always run the server’s default PHP, so there is nothing to choose. Two sites on the very same Noiz account can therefore run different PHP versions, and each has its own php.ini and its own set of loaded extensions.

Because of this, the version and extensions shown by a phpinfo file placed on one site apply to that site only. If you change the PHP Version for a site in ISPConfig and reload the phpinfo page, the version at the top should change to match, confirming the switch worked. The Loaded Configuration File path usually changes with it, because each PHP release keeps its own configuration directory, though a site whose settings are served from a generated per-site php.ini keeps the same path.

Delete the File Immediately Afterwards

As soon as you have read what you need, remove the file. Do not skip this.

  1. Reconnect (or return) to your FTP or SFTP session for the site.
  2. Open the same web document-root folder.
  3. Delete the phpcheck-7f3a9.php file you uploaded.
  4. Reload the file’s address in your browser. You should now get a 404 Not Found, which confirms it is gone.

If you ever find an old info.php, phpinfo.php, or similar left behind on a site, delete it as well: an out-of-date report is just as revealing to an attacker as a fresh one.

A Safer Alternative for Shell Accounts

If your service includes shell access over SSH (Noiz VPS, dedicated servers, and shell-user accounts), you can inspect PHP without exposing anything on the web at all. From the command line:

php -v

prints the version, and

php -i

prints the same information as a phpinfo page, in plain text. To jump straight to one setting, filter it, for example:

php -i | grep memory_limit

Where several PHP releases are installed, call the specific one by its versioned binary, such as php8.2 -i, to be sure which you are querying. One caveat: the command line uses the CLI build of PHP, which can load a different php.ini and different limits from the FPM/FastCGI build that serves your website. For the values a visitor’s request actually sees, the browser-based phpinfo file remains the definitive check; the command line is the convenient, exposure-free option for the CLI environment.

Troubleshooting

  • The browser shows the raw <?php phpinfo(); text or offers the file as a download: PHP is not processing the file. The usual cause is a wrong extension, such as the editor saving it as phpcheck.php.txt; confirm the name ends in .php exactly. If the extension is correct and it still will not run, PHP may be switched off for the site, so check that the PHP field on the website’s Domain tab in ISPConfig is set to a mode rather than disabled, or open a support ticket.
  • You get a blank white page: the file may be empty or the opening <?php tag may be missing or mistyped. Re-check the contents are exactly the two lines shown above, and that no smart-quotes were substituted for the straight < and ? characters by a word processor. Use a plain text editor, not a word processor.
  • You get a 404 Not Found: the file is not where the domain is looking. Confirm you uploaded it into the site’s web document root (alongside index.php) and that the address in the browser matches the file name exactly, including the random suffix and letter case.
  • The version shown is not the one you expected: remember the browser view reflects the web (FPM/FastCGI) build, while a command-line php -v reflects the CLI build; the two can legitimately differ. For a website, the browser figure is the one that counts. If it is still wrong, check the PHP Version dropdown on the site’s Domain tab in ISPConfig.
  • The page reports that phpinfo is disabled: on hardened setups phpinfo can be listed under disable_functions, in which case the function returns nothing useful. On ISPConfig that block is normally a disable_functions line in the site’s Custom php.ini settings, or an Apache directive on a Mod-PHP site, both on the Options tab an administrator sees. Use the shell method above if you have SSH access, or ask the Noiz support team which limits and extensions are set for your site.

If you are unsure which PHP version, extension, or limit a site should be using for a particular application, open a support ticket with the Noiz support team and include the website’s domain and what the application requires. Remember to delete any phpinfo file you created before you consider the task finished.

  • 0 Users Found This Useful
  • ispconfig, php, extensions, version
Was this answer helpful?

Related Articles

How to Fix the DEB.SURY.ORG Expired Signing Key Error (EXPKEYSIG) on Debian

If your Debian server uses the DEB.SURY.ORG PHP repository (standard on ISPConfig "perfect...

How to Fix a Blank White Screen in ISPConfig After a Sury PHP Upgrade (Read-Only Temp Folder)

After upgrading PHP from the deb.sury.org repository, the ISPConfig control panel interface may...