Today I am releasing PHP Manager for IIS 7 – beta, which is an IIS extension for setting up and managing multiple PHP installations on IIS 7 servers. It can be used to:
- Register PHP with IIS;
- Run multiple PHP versions side by side;
- Check PHP runtime configuration and environment (output of phpinfo() function)
- Configure various PHP settings
- Enable or disable PHP extensions
- Remotely manage PHP configuration in php.ini fille
The PHP Manager installation packages can be downloaded from these locations:
The project’s home page and documentation are located at http://phpmanager.codeplex.com/. This blog post describes how the PHP Manager for IIS can be used.
From the Downloads page select the installation package that is appropriate for your target machine. Download and run the installer, which will install and register PHP Manager’s binaries with IIS. Note that only IIS versions 7.0 and above are supported. 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 registration of a new PHP version.
Registering PHP with IIS
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. Note that 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.
Switching between PHP versions
After multiple PHP versions have been registered with IIS, you can use PHP Manager to easily switch between the versions on a server and site level. This means that you can configure some IIS sites to use one PHP version, while other sites use different version.
Checking phpinfo() output
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.
Configuring Error Reporting
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.
Configuring Runtime Limits
Various timeouts and limits can be configured in the “PHP Runtime Limits” page:
Configuring All PHP Settings
All existing PHP settings can be added, removed and modified in the “PHP Settings” page.
Enabling or Disabling PHP Extensions
PHP extensions can be enabled or disabled in the “PHP Extensions” page:
Feature suggestions and bug reports
If you have any feature suggestions or have found any bugs in the tool, leave a comments here or use the links below:
- Feature suggestions and questions – http://phpmanager.codeplex.com/discussions
- Bug reports – http://phpmanager.codeplex.com/workitem/list/basic