IT Nota

  • Home
  • How To
  • .NET
  • WordPress
  • Contact

How to Serve WebP Image on IIS

As most web users are using Chrome as their default browser how do you take advantage of serving WebP image from IIS server?

The problem with using IIS Server is by default IIS does not recognize WebP as an image type so it cannot correctly render it on the page even if the browser can support it.

Using a test page webp-test.html with the content below, the page will render as shown.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>IT Nota WebP Test Render</title>
</head>
<body>
  <h1>PNG</h1>
  <img src="images/caniuse-WebP-Test.png" width="368" height="335" alt="PNG" />

  <h1>WebP</h1>
  <img src="images/caniuse-WebP-Test.webp" width="368" height="335" alt="WebP" />
</body>
</html>

IIS failed to render WebP format

The issue stems from the fact that IIS does not recognize WebP as a legitimate MIME type. So with a simple fix, we can make IIS to treat the new format as a valid image file.

How to Enable WebP on IIS

  1. Launch IIS Manager.

  2. Click on your main server on the left pane to make sure we’re making the change on a server level (as opposed to a site level). Then click on the MIME Types.

    IIS Manager MIME type setting

  3. On the right pane of MIME Types dialog box, click on Add… link.

    IIS Manager Add a new MIME Type

  4. We want to add a new MIME type of WebP as an image type so IIS knows how to handle this new format.

    In Add MIME Type box, enter .webp as the file name extension and image/webp as the MIME type and click OK.

    IIS Manager add new MIME type WebP as image/webp

That’s all there is to it.

Now if you reload your Chrome browser, you should be able to see both image files rendered correctly.

WebP rendered from IIS successfully

As a side note, the file size for the PNG is 62.4KB, while the WebP is 29.8KB (52% smaller) with lossless compression using cwebp with the following command line.

C:\> cwebp -lossless -exact caniuse-WebP-Test.png -o caniuse-WebP-Test.webp

You can use the same step to configure IIS to serve AVIF image type as well.

Further Reading

A new image format for the Web
How to Serve WebP Image Format with Fallback for Other Browsers
How to Serve AVIF Image on IIS
How to Serve AVIF Image Format with Fallback for Other Browsers
How to Serve Outlook File Type on IIS

Download

Downloading and Installing WebP Converter

April 7, 2017 Filed Under: How To Tagged With: IIS, Internet Information Services, Microsoft

How to Upgrade to PHP 7.1 on Windows 10

This setup should only be used as PHP development environment on Windows as it has not been tested on production.

If you followed the steps from the previous post on PHP installation on Windows using Web Platform Installer, you will now have PHP 7.0 to do your web development.

The problem using Web Platform Installer (WPI) is that most likely you won’t be using the latest version of PHP (at the time of this writing, it’s 7.0.15 and 7.1.1 and WPI only gives you version 7.0.9).

Fortunately, if you want to upgrade to the latest version, you can do it manually in a few simple steps described below.

Before we start, please keep in mind that this installation is for a local PHP server on IIS, not Apache web server.

Steps to Upgrade PHP to 7.1

  1. Open Control Panel, click on Programs and Features, and then Turn Windows features on or off. Under Internet Information Services, World Wide Web Services, Application Development Features, make sure that option CGI is checked. This enables both the CGI and FastCGI services, which is recommended for PHP applications.

    Control Panel CGI

  2. Download PHP for Windows. Since we’re using PHP as FastCGI, we’ll use the 64-bit Non-Thread Safe (NTS) version (i.e., php-7.1.1-nts-Win32-VC14-x64.zip).

  3. Extract file php-7.1.1-nts-Win32-VC14-x64.zip to its own folder.

  4. Copy your current PHP7 installation from v7.0 and rename the copy to v7.1.

    Copy original PHP 7.0 to 7.1 folder

  5. Copy all files from the PHP7 zip folder (Step 3) to the new renamed v7.1 folder (Step 4).

  6. Edit the php.ini (C:\Program Files\PHP\v7.1\php.ini) to reflect the new version (7.1) under [WebPIChanges] as shown below (see highlighted changes):

    [WebPIChanges]
    error_log=C:\WINDOWS\temp\PHP71x64_errors.log
    upload_tmp_dir=C:\WINDOWS\temp
    session.save_path=C:\WINDOWS\temp
    cgi.force_redirect=0
    cgi.fix_pathinfo=1
    fastcgi.impersonate=1
    fastcgi.logging=0
    max_execution_time=300
    date.timezone=Australia/Melbourne
    extension_dir="C:\Program Files\PHP\v7.1\ext\"
    
    [ExtensionList]
    ;extension=php_mysql.dll
    extension=php_mysqli.dll
    extension=php_mbstring.dll
    extension=php_gd2.dll
    extension=php_gettext.dll
    extension=php_curl.dll
    extension=php_exif.dll
    extension=php_xmlrpc.dll
    extension=php_openssl.dll
    extension=php_soap.dll
    extension=php_pdo_mysql.dll
    extension=php_pdo_sqlite.dll
    extension=php_imap.dll
    extension=php_tidy.dll
    
    [PHP_WINCACHE]
    extension=php_wincache.dll
    

    php.ini File Update

    Please note the change in line 1857. Although it’s not related to PHP upgrade, you need to double check that the extension=php_mysql.dll is either commented out or deleted.

    MySQL extension was deprecated on PHP version 5.5 and removed on version 7. If it’s not excluded, you’ll see the following error:

    PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\Program Files\PHP\v7.1\ext\php_mysql.dll' - The specified module could not be found.
    
    in Unknown on line 0
    

    Line 1872-1873 are for WinCache setting. Just make sure it’s there or else you will also encounter an error.

  7. Open IIS Manager and click on FastCGI Settings.

    IIS Manager FastCGI Settings

  8. Double-click on the PHP 7.0 settings and copy all the property values including the Environment Variables (PHP_FCGI_MAX_REQUESTS, PHPRC) and Advanced Settings. We’re just going to reuse all the values from the existing installation instead of starting from scratch.

    Click Cancel button after you’re done.

    IIS Manager FastCGI Properties

    EnvironmentVariables PHP_FCGI_MAX_REQUESTS Properties

    EnvironmentVariables PHPRC Properties

  9. Now from FastCGI Settings window, click on Add Application… on the Actions pane on the right.

    IIS Manager FastCGI Settings Add Application

  10. Type in C:\Program Files\PHP\v7.1\php-cgi.exe on the Full Path box.

  11. Enter all values you copied from Step 8, except for PHPRC where you want to update the value to 7.1 (i.e., C:\Program Files\PHP\v7.1).

    Once completed, just click OK.

  12. Go back to IIS Manager and click on Handler Mappings.

    IIS Manager Handler Mappings

  13. Look for PHP_via_FastCGI and double-click on it.

    IIS Manager PHP_via_FastCGI

  14. Locate the new php-cgi.exe and change the value on the Executable (optional): accordingly. Click Yes when there’s a dialog box asking you to create a FastCGI application for this executable.

    Click OK and exit IIS Manager.

    IIS Manager Handler Mappings PHP FastCGI

Update WinCache Extension for PHP

Once PHP is upgraded to version 7.1 you may run into another issue with your WinCache PHP extension with an error message as follow.

PHP Warning:  PHP Startup: wincache: Unable to initialize module
Module compiled with module API=20151012
PHP    compiled with module API=20160303
These options need to match

in Unknown on line 0

This error was caused by an outdated version of WinCache. PHP 7.1 requires a new WinCache binaries. Look for them in the PECL packages or you can download it directly from this link.

WinCache PHP Extension PECL download

Installation should be straightforward. Just extract the zip file and follow the instructions.

Update Windows Environment Variables

Finally, we need to update the path of the new PHP in Windows Environment Variables.

  1. Click on the Windows start button and type in “system” and click on System Control panel.

    Windows System Control Panel

  2. In System window, click on Advanced system settings and on System Properties window, make sure you have Advanced tab opened. And you can follow the path shown in the picture to complete the rest of the steps.

    Control Panel System Environment Variables

  3. Click on Environment Variables… button.

  4. Under System Variables, click on Path and Edit… button.

  5. Click on where the current PHP is located and double-click it or click on Edit button.

  6. Change the value to the location of the new PHP (i.e., C:\Program Files\PHP\v7.1)

  7. Click OK button on each window to close.

That’s all there is. Now you can test your PHP installation by creating a test.php file with this PHP code.

<?php phpinfo(); ?>

Run it from your browser (i.e., http://localhost/test.php). If PHP is installed with the correct version, you will see something similar to this:

phpinfo 7.1.1

Compared with previous version of PHP installation on Windows:

phpinfo 7.0.9 displayed on a page

Further Reading

How to Install PHP on Windows 10 Using Web Platform Installer
How to Upgrade to PHP 7.2 on IIS (Windows 10)
FastCGI
Difference between PHP thread safe and non thread safe binaries
Using FastCGI to Host PHP Applications on IIS 7
WinCache Extension for PHP

Download

Download PHP For Windows: Binaries and sources Releases
WinCache 2.0.0.8 PHP Extension Direct Download
Microsoft Visual C++ 2015 Redistributable Update 3

January 20, 2017 Filed Under: How To Tagged With: IIS, Internet Information Services, Microsoft, PHP, Windows, Windows 10

How to Install PHP on Windows 10 Using Web Platform Installer

If you need to install a PHP on your local Windows machine with Internet Information Services (IIS), Microsoft has already provided a way where you can do it fairly quickly using WPI.

Keep in mind though, this setup has not been tested for production environment. So only use it as a PHP development environment for Windows.

Steps

  1. Open Control Panel -> Programs and Features -> Turn Windows features on or off. Under Internet Information Services -> World Wide Web Services -> Application Development Features, make sure that option CGI is checked. This enables both the CGI and FastCGI services.

    Control Panel CGI

  2. Download Web Platform Installer. For this example for Windows 10 64-bit, it’s the WebPI 5.0 x64.

  3. Double-click on WebPlatformInstaller_amd64_en-US.msi to install it.

  4. Once installed, you should see a file with the name wpilauncher.exe. Double-click it.

  5. When you see the Window, click on the Products link and search for “php” and press ENTER.

    Web Platform Installer 5.0 Product Search for PHP

  6. Add PHP 7.0.9 (x64) (or later version if available) as an item to install. Selecting this will automatically add Windows Cache Extension and PHP Manager for IIS.

    Web Platform Installer 5.0 PHP Installation

  7. (Optional) If you need to connect to SQL Server using PHP, you need to install Microsoft Drivers 4.0 (x64) for PHP v7.0 for SQL Server in IIS.

  8. Click on Install button.

    Web Platform Installer 5.0 Prerequisites Agreement

The downside of this installation is probably WPI may have a mind on its own and install other components that you didn’t choose as shown below:

Web Platform Installer 5.0 Installation Summary

If you see a failed installation for PHP Manager for IIS like above, don’t worry about it. That component is only used to provide a GUI for managing PHP from IIS. You can still use the command line and text editor to make configuration changes.

As always you can always test your PHP installation by creating a test.php file with this PHP code.

<?php phpinfo(); ?>

And run it from your browser (i.e., http://localhost/test.php). If PHP is installed correctly, you will see something similar to this:

phpinfo 7.0.9 displayed on a page

You may notice that the version of PHP installed using WPI is usually several versions behind the release version. Fortunately, you can always download PHP for Windows yourself and upgrade your PHP installation on Windows to a newer version with just a few additional steps explained on this post.

Further Reading

How to Upgrade to PHP 7.1 on Windows 10
How to Upgrade from PHP 7.1 to PHP 7.2 on IIS (Windows 10)
How to Activate Built-in Web Server
FastCGI
Using FastCGI to Host PHP Applications on IIS 7

Download

Web Platform Installer Direct Downloads

December 30, 2016 Filed Under: How To Tagged With: IIS, Internet Information Services, Microsoft, PHP, Windows, Windows 10

How to Manage IIS Servers Remotely

Managing several IIS servers can be overwhelming if you have to RDP to each server to perform your tasks. Unfortunately, there are many IT professionals still doing it the hard way by not taking advantage of this capability to manage IIS servers from their workstations.

Using IIS Manager for Remote Administration, you can manage remote IIS with the same experience as if you’re logged into the remote server since it has the same user interface.

As this setup is done on the client side where it will be used to manage the IIS servers from, make sure the remote server has its remote connections enabled under IIS Management Service (WMSVC).

After the remote server is properly configured, here are the steps to enable your workstation to manage remote IIS servers:

Steps

  1. Download IIS Manager for Remote Administration.

    For a 64-bit OS, use the inetmgr_amd64_en-US.msi. The word ‘amd’ on amd64 has nothing to do with whether you are using Intel or AMD processor.

    IIS Manager Download Dialog Box

  2. The first time you run it, you may see a dialog box with the following error:

    The IIS Management Console is not installed, but it is required for managing remote IIS Servers. Please install the IIS Management Console before installing the remote management support by opening the 'Control Panel-&amp;gt;Programs-&amp;gt;Turn Windows Features On or Off' and selecting the IIS Management Console in the Inet... [OK]
    

    IIS Remote Administration Error

    If that’s the case, just click OK and install the IIS Management Console first before you continue.

  3. Run the inetmgr_amd64_en-US.msi (substitute this with the file you downloaded if different) and just follow the instructions until the end.

  4. You can find the Internet Information Services (IIS) Manager under Control Panel and Administrative Tools.

  5. If you did not install IIS Remote Administration, IIS Manager can only be used to manage the IIS on your local PC. Remote Administration gives you an additional ability to connect to a different server (Connect to a Server…) as shown below:

    IIS Manager Connect Remote Server

The IIS Manager for Remote Administration 1.2 (inetmgr_amd64_en-US.msi) works on the 64-bit version of Windows 10, although it’s not mentioned in its System Requirements.

Downloads

IIS Manager for Remote Administration 1.2
IIS Manager for Remote Administration 1.2 Direct Download

Further Reading

How to Manage IIS Servers Remotely with WMSVC
How to Install IIS Management Console on Windows
How to Backup IIS Manager Connections List on Windows

December 16, 2016 Filed Under: How To Tagged With: IIS, Internet Information Services, Microsoft, Windows 10

How to Install IIS Management Console on Windows

Here are the steps to install IIS Management Console as a prerequisite to manage IIS servers remotely. The examples are shown using Microsoft Windows 10 Pro 64-bit.

Steps

  1. Make sure you don’t have any RDP sessions opened during installation otherwise you will see an error.

  2. Right-click the Windows Start Button, and click on Control Panel.

    Control Panel from Windows Start button

  3. Click on Programs.

    Program selection from Control Panel

  4. Click on Turn Windows features on or off.

    Turn Features On or Off selection in Control Panel (Programs)

  5. Find and expand Internet Information Services, then Web Management Tools and check on IIS Management Console.

    IIS Web Management Tools Console

    Click OK and Close when completed.

  6. Now go back to Control Panel and change the View by Category to Small icons. And click on Administrative Tools.

    Control Panel Small Icons View

  7. You should see Internet Information Services (IIS) Manager shortcut now.

    Administrative Tools IIS Manager

  8. Or you can click on Windows Start Button and click on All apps and find Internet Information Services (IIS) Manager under Windows Administrative Tools

    Apps Windows Administrative Tools IIS Manager

That’s it. Keep in mind that completing these steps only enables IIS Manager Console manage your local IIS. To also manage IIS servers remotely using this same interface, you still need to install IIS Manager for Remote Administration on your PC.

Further Reading

How to Manage IIS Servers Remotely with WMSVC
How to Manage IIS Servers Remotely

December 16, 2016 Filed Under: How To Tagged With: IIS, Internet Information Services, Microsoft, Windows 10

« Previous Page
Next Page »
Buy me a coffee Support this site
Buy Me a Coffee?

Categories

  • .NET
  • Coding
  • Cybersecurity
  • Database
  • How To
  • Internet
  • Multimedia
  • Photography
  • Programming
  • Resources
  • Review
  • Tips and Tricks
  • Uncategorized
  • Use Case
  • WordPress
  • Writing

Recent Posts

  • How to View Stored Procedure Code in SQL Server
  • How to Find a String in SQL Server Stored Procedures
  • How to Remove Cached Credentials without Rebooting Windows
  • ESP Work Automation: Empowering Enterprises with Streamlined Workflows and Operational Efficiency
  • How to Search for a String in All Tables in a Database

Recent Posts

  • How to View Stored Procedure Code in SQL Server
  • How to Find a String in SQL Server Stored Procedures
  • How to Remove Cached Credentials without Rebooting Windows
  • ESP Work Automation: Empowering Enterprises with Streamlined Workflows and Operational Efficiency
  • How to Search for a String in All Tables in a Database

Tags

.NET .NET Core AdSense ASP.NET Cdonts Dll Classic ASP Code Editor ETL FSharp Genesis Framework Git Google HP Asset Manager HTML5 Hugo IIS Information Security Internet Internet Information Services iOS JAMStack Linux macOS Microsoft Microsoft SQL Server MVC PHP PowerShell Python Simple Mail Transfer Protocol Smtp Server SQL SQL Server SSIS SSMS SSRS Sublime Text Visual Studio Visual Studio Code VPN Windows Windows 8 Windows 10 Windows 2012 Windows Server

Copyright © 2011-2025 IT Nota. All rights reserved. Terms of Use | Privacy Policy | Disclosure