PHP Manager for IIS 7 – beta release

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.

Installation

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:

85,403 views

ruslany on August 30th 2010 in FastCGI, PHP

PoorFairAverageGoodExcellent (3 votes, average: 4.00 out of 5)

7 Responses to “PHP Manager for IIS 7 – beta release”

  1. Gravatar ImageFranklin Tse responded on 30 Aug 2010 at 10:06 am #

    The x64 version installs in C:\Program Files (x86)\ instead of C:\Program Files\. Is it an expected behavior?

  2. Gravatar Imageruslany responded on 30 Aug 2010 at 10:26 am #

    Hi Franklin,

    Yes, for beta release it is an expected behavior. The assemblies are also placed in the GAC and IIS uses them from there.

    This does not affect the functionality anyhow. I’ll see if I can change that in future releases to avoid any confusion.

  3. Gravatar ImageSean responded on 04 Sep 2010 at 5:22 pm #

    Great extension! This is perfect to keep all the PHP and FastCGI configuration in one place.

    Again, like the previous poster was saying – it’s a little odd that the x64 version installs into Program Files (x86). Minor thing, though.

  4. Gravatar ImageDouglas Spooner responded on 16 Sep 2010 at 9:09 am #

    Thanks this makes my life so much easier :)

  5. Gravatar ImageHow Microsoft is making PHP Development easier « Rafael Dohms responded on 09 Dec 2010 at 6:05 am #

    [...] version marks also the release of PHP Manager which makes it really easy to manage PHP installs and gives us a very cool possibility, have [...]

  6. Gravatar ImageDave M responded on 12 Jan 2011 at 7:52 am #

    What a sweet chunk of development this is.

    Q #1: Any way it will work for IIS6? Or can be easily ported to run for IIS6?

    Q #2: This would also be nice for use on side by side installs of IIS and Apache, to allow for different php.ini settings held in separate php installs. Any chance for this to work on that scenario?

    Thanks Much for the beta, Ruslany!

  7. Gravatar Imageruslany responded on 12 Jan 2011 at 9:36 am #

    Hi Dave,

    #1: It won’t work with IIS6. It relies on the new IIS extensibility API’s that are only available starting from IIS 7.

    #2: This should work on the side by side installs of IIS 7 and Apache.

    Also, note that at this point it is not a beta, but a stable release.

Trackback URI | Comments RSS

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

XML Markup: If You want to add XML code to the comment please XML encode it first, otherwise the code will not show up.

Recently Published Articles