Managing PHP installations with PHP Manager user interface
This article describes how to use PHP Manager for IIS user interface.
In this article:
- Registering PHP with IIS
- Validating existing PHP installations and fixing configuration issues
- Switching between PHP versions
- Checking phpinfo() output
- Configuring Error Reporting
- Configuring Runtime Limits
- Configuring All PHP Settings
- Enabling or Disabling PHP Extensions
- Unregistering PHP with IIS
Make sure you install PHP Manager for IIS properly following :doc:`/getting-started/installation` .
After installation is complete, launch the IIS Manager and find the "PHP Manager" feature:
When opened, the "PHP Manager" feature provides a configuration overview for the PHP installation that is registered with IIS and is currently active. If no PHP is registered with IIS, then the only action that can be performed is the registation of a new PHP version.
To register a new PHP version with IIS, first you need to download the zip archive with PHP binaries from http://windows.php.net/ and then extract the files from it into a folder of your choice.
You can also install PHP by using Web Platform Installer or the Windows installer from http://windows.php.net/ - the PHP Manager can be used to manage those PHP installations as well.
Click on "Register new PHP version" task and then provide the full path to the location of the main php executable file: php-cgi.exe:
After clicking OK the new PHP version will be registered with IIS and will become active. This means that all the sites on this IIS server by default will use this PHP version.
In order for PHP to run properly on IIS there is a set of recommended settings that need to be configured in IIS and PHP. PHP Manager checks if all of the recommended settings are configured correctly. If some settings are not configured properly then you can use PHP Manager to fix those settings.
When some configuration settings are configured incorrectly you will see a warning message when you open PHP Manager:
After clicking on "View Recommendations" link you can see all the configuration issues that exist in your PHP installation. You can review each issue description and the recommended corrective action. You can also select which configuration issues you want to be fixed:
After multiple PHP versions have been registered with IIS, you can use PHP Manager to easily switch between the versions on a server, site and application levels. This means that you can configure some IIS sites to use one PHP version, while other sites use different version. Also, you can configure separate applications within a web site to use different PHP versions.
When switching the PHP versions on any level except server level, the PHP Manager will make a local copy of all IIS Handlers on that level. This means that if later you make any changes to handler mappings on an upper configuration level, that won't take effect on this configuration level. You can easily determine if the PHP handler is defined locally versus being inherited from an upper configuration level by checking the information on PHP Manager main feature page:
phpinfo() function in PHP provides very detailed information about all
aspects of PHP runtime configuration. To check the
phpinfo() output from
within PHP Manager use the "Check phpinfo()" task.
You can use PHP Manager to configure error reporting level in PHP. If IIS is used on a development machine then you may want to use verbose error reporting in order to see all the errors, warnings and notices from your PHP application right away. If IIS is used as a production server, then error reporting level is less verbose and errors are logged in a log file, but never communicated to HTTP client.
track_errors option is obsolete in PHP 7.2 and above, so it is
not included in recommended settings. More information can be found in
this article .
Various timeouts and limits can be configured in the "PHP Runtime Limits" page:
All existing PHP settings can be added, removed and modified in the "PHP Settings" page.
PHP extensions can be enabled or disabled in the "PHP Extensions" page:
php_sql.dll is obsolete in PHP 7.0 and above, so it is not
included in recommended extension list. More information can be found in
this RFC document .
At server level, remove the PHP items registered in "FastCGI Settings" feature in IIS Manager.
To register PHP, please follow "Registering PHP with IIS" section.