diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index a5fc62ca1..ef617e071 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -65,11 +65,6 @@ "redirect_url": "/troubleshoot/developer/webapps/iis/www-authentication-authorization/troubleshooting-forms-authentication", "redirect_document_id": false }, - { - "source_path": "iis/troubleshoot/using-failed-request-tracing/troubleshoot-with-failed-request-tracing.md", - "redirect_url": "/troubleshoot/developer/webapps/iis/health-diagnostic-performance/troubleshoot-php-with-failed-request-tracing", - "redirect_document_id": false - }, { "source_path": "iis/troubleshoot/diagnosing-http-errors/troubleshooting-http-5022-bad-gateway-error-in-cgi-applications.md", "redirect_url": "/troubleshoot/developer/webapps/iis/health-diagnostic-performance/troubleshoot-502-2-bad-gateway-error-in-cgi-apps", @@ -130,36 +125,11 @@ "redirect_url": "/iis/application-frameworks/building-and-running-aspnet-applications", "redirect_document_id": false }, - { - "source_path": "iis/application-frameworks/install-and-configure-php-applications-on-iis/index.md", - "redirect_url": "/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis", - "redirect_document_id": false - }, - { - "source_path": "iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis.md", - "redirect_url": "/iis/", - "redirect_document_id": false - }, - { - "source_path": "iis/application-frameworks/install-and-configure-php-on-iis/index.md", - "redirect_url": "/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60", - "redirect_document_id": false - }, { "source_path": "iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/index.md", "redirect_url": "/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-not-installed-by-default-on-iis", "redirect_document_id": false }, - { - "source_path": "iis/application-frameworks/running-php-applications-on-iis/index.md", - "redirect_url": "/iis/application-frameworks/running-php-applications-on-iis/mix08-partying-with-php-on-microsoft-internet-information-services-7-and-above", - "redirect_document_id": false - }, - { - "source_path": "iis/application-frameworks/scenario-build-a-php-website-on-iis/index.md", - "redirect_url": "/iis/application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis", - "redirect_document_id": false - }, { "source_path": "iis/application-frameworks/scenario-build-an-aspnet-website-on-iis/index.md", "redirect_url": "/iis/application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis", diff --git a/iis/TOC.yml b/iis/TOC.yml index 9c3d2676e..6aca2baec 100644 --- a/iis/TOC.yml +++ b/iis/TOC.yml @@ -478,8 +478,6 @@ href: publish/using-web-deploy/synchronize-iis-60-web-sites.md - name: Synchronize IIS href: publish/using-web-deploy/synchronize-iis.md - - name: Synchronizing Two IIS Servers with PHP - href: publish/using-web-deploy/synchronizing-two-iis-servers-with-php.md - name: Export a Package through IIS Manager href: publish/using-web-deploy/export-a-package-through-iis-manager.md - name: Import a Package through IIS Manager @@ -717,8 +715,6 @@ href: extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module.md - name: URL Rewrite Module Configuration Reference href: extensions/url-rewrite-module/url-rewrite-module-configuration-reference.md - - name: Enabling Pretty Permalinks in WordPress - href: extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress.md - name: Using Failed Request Tracing to Trace Rewrite Rules href: extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules.md - name: Using Global and Distributed Rewrite Rules @@ -932,138 +928,6 @@ href: application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-applications-on-iis-overview.md - name: "Scenario: Build a Classic ASP Website on IIS" href: application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md - - name: Install and Configure PHP on IIS - items: - - name: Configuring the FastCGI Extension for IIS 6.0 - href: application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60.md - - name: Installing PHP on Windows Vista with FastCGI - href: application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md - - name: Setting Up a Database for a PHP Application on IIS - href: application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md - - name: Install PHP and FastCGI Support on Server Core - href: application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md - - name: Install and Configure MySQL for PHP Applications on IIS 7 - href: application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above.md - - name: Walkthrough - Set Up MySQL 5.1 for PHP applications - href: application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications.md - - name: Install the SQL Server Driver for PHP - href: application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php.md - - name: Enable FastCGI Support in IIS 7 on Windows - href: application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7.md - - name: Install and Configure SQL Server 2008 for PHP Applications on IIS 7 - href: application-frameworks/install-and-configure-php-on-iis/install-and-configure-sql-server-2008-for-php-applications-on-iis-7-and-above.md - - name: Install and Configure PHP - href: application-frameworks/install-and-configure-php-on-iis/install-and-configure-php.md - - name: How to Install the Microsoft Web Platform for PHP - href: application-frameworks/install-and-configure-php-on-iis/how-to-install-the-microsoft-web-platform-for-php.md - - name: Using PHP Manager for IIS to setup and configure PHP - href: application-frameworks/install-and-configure-php-on-iis/using-php-manager-for-iis-to-setup-and-configure-php.md - - name: Use the Windows Cache Extension for PHP - href: application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php.md - - name: Enable Per-Site PHP Configuration on IIS 7 and IIS 6.0 - href: application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above.md - - name: Create a Separate Site or Virtual Directory for PHP Content - href: application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content.md - - name: Configure SMTP E-Mail in IIS 7 - href: application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above.md - - name: How to Configure and Optimize the Microsoft Web Platform for PHP - href: application-frameworks/install-and-configure-php-on-iis/how-to-configure-and-optimize-the-microsoft-web-platform-for-php.md - - name: Run Multiple Versions of PHP on IIS - href: application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis.md - - name: Improve PHP Error Messages in IIS 7 - href: application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above.md - - name: How to Manage and Administer the Microsoft Web Platform - href: application-frameworks/install-and-configure-php-on-iis/how-to-manage-and-administer-the-microsoft-web-platform.md - - name: Secure Your SQL Server Database - href: application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database.md - - name: Secure Content in IIS Through Impersonation - href: application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation.md - - name: Secure PHP with Configuration Settings - href: application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings.md - - name: Secure Your Infrastructure and PHP Applications - href: application-frameworks/install-and-configure-php-on-iis/secure-your-infrastructure-and-php-applications.md - - name: How to Secure the Microsoft Web Platform - href: application-frameworks/install-and-configure-php-on-iis/how-to-secure-the-microsoft-web-platform.md - - name: Enable PHP Applications to Make Application-Level Access Control Decisions - href: application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions.md - - name: Install and Configure PHP Applications on IIS - items: - - name: Advanced Poll on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis.md - - name: b2Evolution on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis.md - - name: Coppermine on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis.md - - name: Crafty Syntax Live Help on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis.md - - name: Gallery2 on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis.md - - name: Geeklog on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis.md - - name: Mambo on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis.md - - name: Install WordPress on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis.md - - name: XOOPS on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis.md - - name: MediaWiki on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis.md - - name: Install osCommerce on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis.md - - name: PHPNuke on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis.md - - name: Install Zen Cart on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis.md - - name: CubeCart on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis.md - - name: ExpressionEngine on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis.md - - name: LimeSurvey on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis.md - - name: OpenAds on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis.md - - name: PHPList on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis.md - - name: Siteframe on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis.md - - name: PHPWCMS on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis.md - - name: pMachinePro on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis.md - - name: Install Drupal on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis.md - - name: Install Joomla! on IIS - href: application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis.md - - name: Using FastCGI to Host PHP Applications on IIS 7 - href: application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md - - name: Using FastCGI to Host PHP Applications on IIS 6.0 - href: application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60.md - - name: Translate .htaccess Content to IIS web.config - href: application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig.md - - name: Provide URL Rewriting Functionality - href: application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality.md - - name: How to Deploy Applications on the Microsoft Web Platform for PHP - href: application-frameworks/install-and-configure-php-applications-on-iis/how-to-deploy-applications-on-the-microsoft-web-platform-for-php.md - - name: Running PHP Applications on IIS - items: - - name: "MIX08: Partying with PHP on Microsoft Internet Information Services 7" - href: application-frameworks/running-php-applications-on-iis/mix08-partying-with-php-on-microsoft-internet-information-services-7-and-above.md - - name: Set Up FastCGI for PHP - href: application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php.md - - name: Build a High-Performance PHP Stack with Windows IIS and Zend Server - href: application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server.md - - name: Configure PHP Process Recycling Behavior - href: application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior.md - - name: Best Practices for PHP on the Microsoft Web Platform - href: application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform.md - - name: Provision Web Sites for PHP Applications Using Managed Code - href: application-frameworks/running-php-applications-on-iis/provision-web-sites-for-php-applications-using-managed-code.md - - name: Develop on IIS 7 - href: application-frameworks/running-php-applications-on-iis/develop-on-iis-7-and-above.md - - name: Enable PHP Syntax Highlighting on IIS 7 - href: application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above.md - - name: How to Develop on the Microsoft Web Platform - href: application-frameworks/running-php-applications-on-iis/how-to-develop-on-the-microsoft-web-platform.md - name: "Scenario: Build an ASP.NET Website on IIS" items: - name: "Overview: Build an ASP.NET Website on IIS" @@ -1088,26 +952,6 @@ href: application-frameworks/scenario-build-an-aspnet-website-on-iis/configuring-step-3-configure-data-source-settings.md - name: "Configuring Step 4: Configure Application Security" href: application-frameworks/scenario-build-an-aspnet-website-on-iis/configuring-step-4-configure-application-security.md - - name: "Scenario: Build a PHP Website on IIS" - items: - - name: "Overview: Build a PHP Website on IIS" - href: application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md - - name: Plan a PHP Website on IIS - href: application-frameworks/scenario-build-a-php-website-on-iis/plan-a-php-website-on-iis.md - - name: "Planning Step 1: Plan IIS Web Server and PHP Installation" - href: application-frameworks/scenario-build-a-php-website-on-iis/planning-step-1-plan-iis-web-server-and-php-installation.md - - name: "Planning Step 2: Plan PHP Settings" - href: application-frameworks/scenario-build-a-php-website-on-iis/planning-step-2-plan-php-settings.md - - name: "Planning Step 3: Plan PHP Application Security" - href: application-frameworks/scenario-build-a-php-website-on-iis/planning-step-3-plan-php-application-security.md - - name: Configure a PHP Website on IIS - href: application-frameworks/scenario-build-a-php-website-on-iis/configure-a-php-website-on-iis.md - - name: "Configuring Step 1: Install IIS and PHP" - href: application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php.md - - name: "Configuring Step 2: Configure PHP Settings" - href: application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-2-configure-php-settings.md - - name: "Configuring Step 3: Configure PHP Application Security" - href: application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security.md - name: Web Hosting items: - name: Getting Started @@ -1144,8 +988,6 @@ href: web-hosting/frequently-asked-questions-faq/general-iis7-questions.yml - name: .NET Questions href: web-hosting/frequently-asked-questions-faq/net-questions.yml - - name: PHP Questions - href: web-hosting/frequently-asked-questions-faq/php-questions.md - name: Sales and Marketing Questions href: web-hosting/frequently-asked-questions-faq/sales-and-marketing-questions.md - name: Top 10 Changes in IIS 7.0 @@ -1244,8 +1086,6 @@ href: web-hosting/verifying-the-deployment/verifying-remote-administration.md - name: Verifying the Developer Experience - ASP.NET href: web-hosting/verifying-the-deployment/verifying-the-developer-experience-aspnet.md - - name: Verifying the Developer Experience - PHP - href: web-hosting/verifying-the-deployment/verifying-the-developer-experience-php.md - name: Web Server For Shared Hosting items: - name: ASP.NET 2.0/3.5 Shared Hosting Configuration @@ -1258,8 +1098,6 @@ href: web-hosting/web-server-for-shared-hosting/smb-commands-registry-keys_198.md - name: Create a Backup with appcmd href: web-hosting/web-server-for-shared-hosting/create-a-backup-with-appcmd.md - - name: FastCGI with PHP - href: web-hosting/web-server-for-shared-hosting/fastcgi-with-php.md - name: ASP href: web-hosting/web-server-for-shared-hosting/asp.md - name: URL Rewrite for Hosting Providers diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis.md deleted file mode 100644 index b0b223440..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: "Advanced Poll on IIS" -author: rick-anderson -description: "Advanced Poll is a polling system with a powerful administration tool. It features: multiple pools, templates, unlimited options, multi-language support, IP-..." -ms.date: 12/18/2007 -ms.assetid: f4b67492-0c6c-42b3-afa5-2963f9b25c98 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis -msc.type: authoredcontent ---- -# Advanced Poll on IIS - -by Eric Woersching - -## Introduction - -Advanced Poll is a polling system with a powerful administration tool. It features: multiple pools, templates, unlimited options, multi-language support, IP-Logging, IP-Locking, cookie support, comment feature, vote expire feature, random poll support and more. Advanced Poll supports data in text files and MySQL databases. For more information about Advanced Poll, see [http://www.proxy2.de/scripts.php](http://www.proxy2.de/scripts.php). - -The following sections describe how to install and configure Advanced Poll for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described here: [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Notes on PHP Setup - -Advanced Poll does not need many modifications beyond the default configuration provided by PHP **.** From the base configuration file provided by PHP, you only need to modify the following lines in your php.ini configuration file to get Advanced Poll to work: - -- Define `extension\_dir` as `c:\php\ext` (i.e., the location of your php extensions directory) -- Uncomment 'extension=php\_mysql.dll' in the extensions list to enable MySQL support - -## Download and Unpack the Application - -First, download the latest stable release of Advanced Poll. For this article, we use Advanced Poll 2.0.8. Download it from [here](http://www.proxy2.de/scripts.php). Once you download the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\advancedpoll`. - -## Set Up the Database - -Advanced Poll supports both text files and mySQL as the backend data repository. Here, we use the MySQL database option. These instructions assume that you already have MySQL installed and running. - -Before starting the installation procedure for AdvancedPoll, you must create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'advancedpoll' -- Database User: 'advancedpoll' -- Account Password: 'advancedpoll' - -## Set Up and Configure the Application - -1. Open the configuration file **Configu.inc.php** with a text editor, and set your database settings: - - [!code-powershell[Main](advanced-poll-on-iis/samples/sample1.ps1)] -2. Call the install script from your browser `http://localhost/advancedpoll/install.php`, and follow the setup instructions. - [![Screenshot that shows the welcome page of the installation wizard.](advanced-poll-on-iis/_static/image2.png)](advanced-poll-on-iis/_static/image1.png) - -All the necessary database tables are created. - -## Test the Advanced Poll Application - -To test that Advanced Poll has been installed successfully, use the built-in demonstration polls as illustrated in the following screenshots. - -[![Screenshot that shows the demonstration polls.](advanced-poll-on-iis/_static/image4.png)](advanced-poll-on-iis/_static/image3.png) - -Create a poll and view it as a site visitor would. Follow these steps: - -1. Navigate to `http://localhost/advancedpoll/admin`. -2. Enter the *administrator user name* and *password* created in the last installation step. - [![Screenshot that shows the poll list.](advanced-poll-on-iis/_static/image6.png)](advanced-poll-on-iis/_static/image5.png) -3. Once logged in, click **Create a new poll**. A form displays: - [![Screenshot that shows the form for creating a poll.](advanced-poll-on-iis/_static/image8.png)](advanced-poll-on-iis/_static/image7.png) -4. Click **Save** to publish this poll. -5. Here you see the actual poll as site visitors see it. - [![Screenshot that shows the poll as visitors see it.](advanced-poll-on-iis/_static/image10.png)](advanced-poll-on-iis/_static/image9.png) - -## Getting More Information - -To discuss the FastCGI support in IIS, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx) -- [IIS 7.0 FastCGI forums](https://forums.iis.net/1104.aspx) - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image1.png deleted file mode 100644 index 158dec82f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image10.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image10.png deleted file mode 100644 index efb6f1148..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image10.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image2.png deleted file mode 100644 index 158dec82f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image3.png deleted file mode 100644 index 752e30cda..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image4.png deleted file mode 100644 index 752e30cda..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image5.png deleted file mode 100644 index 1aa6f79c3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image6.png deleted file mode 100644 index 1aa6f79c3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image7.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image7.png deleted file mode 100644 index 2254e2b9e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image7.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image8.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image8.png deleted file mode 100644 index 2254e2b9e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image8.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image9.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image9.png deleted file mode 100644 index efb6f1148..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/_static/image9.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/samples/sample1.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/samples/sample1.ps1 deleted file mode 100644 index bed7e0593..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/advanced-poll-on-iis/samples/sample1.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -$POLLDB["dbName"]="advancedpoll" // --supply the database you created - -$POLLDB["host"]="localhost" // --supply your mySQL instance - -$POLLDB["user"]="advancedpoll" // --supply the user name you have created - -$POLLDB["pass"]="advancedpoll" // --supply the password \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis.md deleted file mode 100644 index 75d322c5a..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: "b2Evolution on IIS" -author: rick-anderson -description: "A popular open source blogging solution, b2Evolution, includes all the features of traditional blog tools, and extends them with evolved features such as fil..." -ms.date: 12/18/2007 -ms.assetid: 7e42e33c-94c3-4781-9fee-9526622c176b -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis -msc.type: authoredcontent ---- -# b2Evolution on IIS - -by Eric Woersching - -## Introduction - -A popular open source blogging solution, b2Evolution, includes all the features of traditional blog tools, and extends them with evolved features such as file and photo management, advanced skinning, multiple blogs support, as well as detailed user permissions. For more information about b2Evolution, see [http://www.b2evolution.net/](http://www.b2evolution.net/). - -The following sections describe how to install and configure b2Evolution for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described here: [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack the Application - -First, download the latest stable release of b2Evolution. For this article, we use b2Evolution 1.10.2. Download it from [here](http://b2evolution.net/downloads/index.html). Once you download the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\b2evolution`. - -## Set Up the Database - -Before starting the installation procedure for b2Evolution, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'b2Evolution' -- Database User: 'b2Evolution' -- Account Password: 'b2Evolution' - -## Set Up and Configure the Application - -To ensure that the installation process completes without errors, follow the instructions to set the file and directory permissions: [http://manual.b2evolution.net/Directory\_and\_file\_permissions](http://manual.b2evolution.net/Directory_and_file_permissions). For this walkthrough, we simply provided modify permissions to the local machine "Internet Guest Account" account for the following directories and file: - -- /blogs/media/blogs -- /blogs/media/users -- /blogs/conf/\_basic\_config.php - -We also updated the php.ini file to add the php\_mysql.dll module into it under the Dynamic Extensions section in the file and ensured that the extension directory points to the correct location: - -- extension\_dir = "./ext -- extension=php\_mysql.dll - -Here are the steps to follow: - -1. Browse to the `http://localhost/b2evolution/doc/install\_new.html` page for detailed setup instructions. -2. Click the Install link on the top of the page to redirect to the Install Wizard. - ![Screenshot of a browser window showing the B 2 evolution install wizard welcome page.](b2evolution-on-iis/_static/image1.png) -3. If you get an error stating that the config file (\_basic\_config.php) cannot be automatically updated, follow the alternate solution listed. Manually copy and paste the content listed on that page into the config file and then start the installation from scratch at: `http://localhost/b2evolution/blogs/install/index.php?locale=en-US`. - ![Screenshot of a browser window showing a successful installation page.](b2evolution-on-iis/_static/image3.png) -4. All the tables are created and the admin password is created. Copy this password and use it to log into the site as an Administrator. Change the password immediately: `http://localhost/b2evolution/blogs/admin.php`. -5. Go to the next page to learn how to verify that b2Evolution has been setup correctly. - -## Test the b2Evolution Application - -To test that b2Evolution has been installed successfully, create a blog posting and view it as a site visitor would. Follow these steps: - -1. Navigate to ```http://localhost/b2Evolution/blogs/admin.php```. -2. Enter the administrator username and password created in the last installation step. - ![Screenshot of a browser window showing the new blog post window.](b2evolution-on-iis/_static/image5.png) -3. Once logged in, enter a title for your post and some content and click Preview. This launches another IE window and displays the post: - ![Screenshot of a browser window showing the blog preview page in a new window.](b2evolution-on-iis/_static/image7.png) -4. Click Save to publish this content to the Blog selected (Blog A in the case above) -5. Click the "Exit to blogs" link on the upper right hand corner of the page to leave the Administrator portal and browse to the actual blog site. - ![Screenshot of a browser window showing the B 2 evolution page with Exit to blogs circled.](b2evolution-on-iis/_static/image9.png) - -You now see the actual Blog A as site visitors see it. - -![Screenshot of a browser window showing a page with the example blog site.](b2evolution-on-iis/_static/image11.png) - -## Changing the permalink structure - -The default permalinks in b2evolution look something like: -`http://www.yoursite.com/blogs/index.php?title=post_title&c=1&tb=1&pb=1&more=1` - -When hosting b2evolution on IIS you can change this structure to the one that does not use query string. In the blog administration console go to the Blog Settings > URLs tab, where you can choose different link formats; for example: -`http://www.yoursite.com/blogs/2003/05/20/post_title` - -In order for this permalink structure to work you need to instal [Microsoft URL rewrite module for IIS 7.0](https://www.iis.net/downloads/microsoft/url-rewrite "URL rewrite module"). Once it is installed, create a web.config file in the same folder where b2evolution php scripts are and then paste the following into it: - -[!code-xml[Main](b2evolution-on-iis/samples/sample1.xml)] - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image1.png deleted file mode 100644 index d1de605d0..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image10.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image10.png deleted file mode 100644 index 43aab7f83..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image10.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image11.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image11.png deleted file mode 100644 index e1a8f7248..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image11.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image12.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image12.png deleted file mode 100644 index e1a8f7248..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image12.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image2.png deleted file mode 100644 index d1de605d0..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image3.png deleted file mode 100644 index b1b080461..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image4.png deleted file mode 100644 index b1b080461..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image5.png deleted file mode 100644 index 0904740ef..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image6.png deleted file mode 100644 index 0904740ef..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image7.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image7.png deleted file mode 100644 index 42ade140a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image7.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image8.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image8.png deleted file mode 100644 index 42ade140a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image8.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image9.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image9.png deleted file mode 100644 index 43aab7f83..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/_static/image9.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/samples/sample1.xml deleted file mode 100644 index ee5c21610..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/b2evolution-on-iis/samples/sample1.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis.md deleted file mode 100644 index 45badce21..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: "Coppermine on IIS" -author: rick-anderson -description: "Coppermine is a multi-purpose, fully-featured and integrated web picture gallery script written in PHP. Coppermine uses GD or ImageMagick as the image librar..." -ms.date: 12/18/2007 -ms.assetid: 4a6fdd0f-12c2-4a7d-8b8e-f8af5e0c0370 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis -msc.type: authoredcontent ---- -# Coppermine on IIS - -by Eric Woersching - -## Introduction - -Coppermine is a multi-purpose, fully-featured and integrated web picture gallery script written in PHP. Coppermine uses GD or ImageMagick as the image library with a MySQL backend. - -The following sections describe how to install and configure Coppermine for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described here: [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack the Application - -First, download the latest stable release of Coppermine. For this article, we use Coppermine 1.4.13 downloaded from [here](http://downloads.sourceforge.net/coppermine/cpg1.4.13.zip). - -Once you downloaded the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\Coppermine`. Add permissions to IIS\_WPG to have Write access for the following folders: - -- `C:\inetpub\wwwroot\Coppermine\include` -- `C:\inetpub\wwwroot\Coppermine\albums` - -Ensure that both GD2 and MySQL are enabled in PHP by uncommenting the modules in the php.ini file. - -[!code-console[Main](coppermine-on-iis/samples/sample1.cmd)] - -## Set Up the Database - -Before starting the installation procedure for Coppermine create a database on your server. Also create a database user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'Coppermine' -- Database User: 'cpguser' -- Account Password: 'password' - -## Set Up and Configure Coppermine - -Open your web browser and browse to `http://localhost/Coppermine/install.php`, the Coppermine setup page. - -1. Enter the required installation information as in the screen shot below (replace the Database Server Hostname and Passwords with the information of your database server). Click "Let's Go!". - [![Screenshot shows the Coppermine Photo Gallery: Welcome to Coppermine installation page.](coppermine-on-iis/_static/image2.png)](coppermine-on-iis/_static/image1.png) -2. Click "Let's Continue" to complete the setup. - [![Screenshot shows the Coppermine Photo Gallery: Installation completed page.](coppermine-on-iis/_static/image4.png)](coppermine-on-iis/_static/image3.png) -3. After the installation is complete, delete the file install.php from `c:\inetpub\wwwroot\Coppermine` to ensure that no one can reconfigure the gallery. - -You must change the access permissions on the include folder now that the installation is finished. Ensure that the folder is NOT writable by the service account that is used for the application pool associated with the "Default Web Site". Once the permissions have been specified, you can browse to `http://localhost/Coppermine/index.php` and log on using the administrative username and password that you have specified earlier. - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image1.png deleted file mode 100644 index 33111958f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image2.png deleted file mode 100644 index 33111958f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image3.png deleted file mode 100644 index 22c07e18d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image4.png deleted file mode 100644 index 22c07e18d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/samples/sample1.cmd deleted file mode 100644 index a88bc836e..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/coppermine-on-iis/samples/sample1.cmd +++ /dev/null @@ -1,3 +0,0 @@ -extension=php_mysql.dll - -extension=php_gd2.dll \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis.md deleted file mode 100644 index add0690c2..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Crafty Syntax Live Help on IIS" -author: rick-anderson -description: "Crafty Syntax Live Help is an open source, live support solution that helps customer support with live help functionality. It can pro-actively push visitors..." -ms.date: 12/18/2007 -ms.assetid: fefc3a42-2b99-4f14-a5e9-d38eccd08641 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis -msc.type: authoredcontent ---- -# Crafty Syntax Live Help on IIS - -by Eric Woersching - -## Introduction - -Crafty Syntax Live Help is an open source, live support solution that helps customer support with live help functionality. It can pro-actively push visitors to your site or one requested by the customer. Crafty Syntax includes a large range of features to allow multiple operators, multiple departments and multiple languages. - -For more information about Crafty Syntax Live Help, see [http://www.craftysyntax.com/](http://www.craftysyntax.com/). - -The following sections describe how to install and configure Crafty Syntax Live Help for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described here: [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Notes on PHP Setup - -Crafty Syntax Live Help does not need many modifications beyond the default configuration provided by PHP **.** From the base configuration file provided by PHP, you need modify only the following lines in your php.ini configuration file to get Crafty Syntax Live Help working: - -- Define `extension\_dir` as `c:\php\ext` (i.e. the location of your php extensions directory) -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support - -## Download and Unpack the Application - -First, download the latest stable release of Crafty Syntax Live Help. For this article, we use Crafty Syntax Live Help 2.14.5 downloaded from [here](http://www.craftysyntax.com/installation.php). Once you download the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\cslh`. - -## Set Up the Database - -Before starting the installation procedure for Crafty Syntax Live Help, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'cslh' -- Database User: 'cslh' -- Account Password: 'cslh' - -## Set Up and Configure Crafty Syntax Live Help - -Browse to the `http://localhost/cslh/setup.php` page for detailed setup instructions. - -1. Click the Install link on the top of the page to redirect to the Install Wizard. -2. Enter the required database information using the database name and user name created earlier. - ![Screenshot of a browser window showing the installation screen.](crafty-syntax-live-help-on-iis/_static/image1.png) -3. All the tables are created and the config.php code is created. Copy the generated code and paste into config.php file: - ![Screenshot of a browser window showing the config file.](crafty-syntax-live-help-on-iis/_static/image3.png) -4. Go to the next page to learn how to verify the installation of Crafty Syntax Live Help. - -## Test the Application - -To test that Crafty Syntax has been installed successfully, chat with an operator to obtain support. Follow these steps: - -1. Navigate to `http://localhost/cslh/livehelp.php`. -2. Select the default department. - ![Screenshot of a browser window showing the Choose Department page.](crafty-syntax-live-help-on-iis/_static/image5.png) -3. Enter the question: - ![Screenshot of a browser window showing the Live help page.](crafty-syntax-live-help-on-iis/_static/image7.png) - -The operator responds to the question and starts the chat to provide live help. - -![Screenshot of a browser window showing the live chat page with the guest message box open.](crafty-syntax-live-help-on-iis/_static/image9.png) - -![Screenshot of a browser window showing the live chat page with the Ask message box.](crafty-syntax-live-help-on-iis/_static/image11.png) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image1.png deleted file mode 100644 index 76b8dec60..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image10.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image10.png deleted file mode 100644 index 91eb5ed02..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image10.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image11.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image11.png deleted file mode 100644 index 69d4af37b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image11.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image12.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image12.png deleted file mode 100644 index 69d4af37b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image12.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image2.png deleted file mode 100644 index 76b8dec60..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image3.png deleted file mode 100644 index 903a0f167..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image4.png deleted file mode 100644 index 903a0f167..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image5.png deleted file mode 100644 index 89ed0b6b8..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image6.png deleted file mode 100644 index 89ed0b6b8..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image7.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image7.png deleted file mode 100644 index 9040c3357..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image7.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image8.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image8.png deleted file mode 100644 index 9040c3357..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image8.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image9.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image9.png deleted file mode 100644 index 91eb5ed02..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/crafty-syntax-live-help-on-iis/_static/image9.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis.md deleted file mode 100644 index 379476078..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "CubeCart on IIS" -author: rick-anderson -description: "Introduction CubeCart is a powerful eCommerce script written with PHP and MySQL. With CubeCart, you can setup a powerful online store with hosting that suppo..." -ms.date: 01/17/2008 -ms.assetid: 8f3e0858-60eb-44ca-a09d-2179b395d359 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis -msc.type: authoredcontent ---- -# CubeCart on IIS - -by Eric Woersching - -## Introduction - -CubeCart is a powerful eCommerce script written with PHP and MySQL. With CubeCart, you can setup a powerful online store with hosting that supports PHP and one MySQL database. - -For more information about CubeCart, see [http://www.cubecart.com](http://www.cubecart.com/). - -In this section, we go through the steps required to install CubeCart to work with FastCGI extension on IIS 7.0 and above. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis) - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described here [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack the CubeCart - -First you will need to download latest stable release of CubeCart application. For this article we used CubeCart\_3.0.17 Full Package that can be downloaded from the mirror -[https://www.cubecart.com/site/helpdesk/index.php?\_m=downloads&\_a=view&parentcategoryid=1&pcid=5&nav=0,5](https://www.cubecart.com/site/helpdesk/index.php?_m=downloads&_a=view&parentcategoryid=1&pcid=5&nav=0,5) - -Once you downloaded the package, uncompress it and copy files and folders to `C:\Inetpub\wwwroot\cubecart`. - -## Set Up the Database - -Before starting the installation of CubeCart, create a database on your database server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'cubecart' -- Database User: 'cubecart' -- Account Password: 'cubecart' - -## Setup and Configuration - -Follow these steps: - -1. Go to [https://www.cubecart.com/build](https://www.cubecart.com/build) to generate the configuration setup script after creating the database for the project. - [![Screenshot of CubeCart Manual Installation webpage.](cubecart-on-iis/_static/image2.jpg)](cubecart-on-iis/_static/image1.jpg) -2. Click Continue to go to the next step. - - [![Screenshot of the CubeCart Manual Installation screen's Database Settings and Administrator Configurations Settings sections.](cubecart-on-iis/_static/image4.jpg)](cubecart-on-iis/_static/image3.jpg) - - [![Screenshot of the CubeCart Manual Installation screen's Skin and Advanced Settings sections.](cubecart-on-iis/_static/image6.jpg)](cubecart-on-iis/_static/image5.jpg) -3. Provide the database details and click Continue. We used the following details for our application: - - - Database Type: MySql - - Host Name: localhost - - Username: cubecartuser - - Password: cubecart - - Database: cubecart - - [![Screenshot of the CubeCart Manual Installation screen's Database Settings details.](cubecart-on-iis/_static/image8.jpg)](cubecart-on-iis/_static/image7.jpg) - - [![Screenshot of the CubeCart Manual Installation screen's Skin and Advanced Settings sections with inserted information.](cubecart-on-iis/_static/image10.jpg)](cubecart-on-iis/_static/image9.jpg) - - It generates 2 files: - - - global.inc.php - Open includes/global.inc.php and paste in the code created for you. - - db.sql - Execute the sql queries generated for you. - - [![Screenshot of the Cubeart Manual Installation screen, showing the global.inc.php code.](cubecart-on-iis/_static/image12.jpg)](cubecart-on-iis/_static/image11.jpg) - - [![Screenshot of the Cubeart Manual Installation screen, showing the db.sql code.](cubecart-on-iis/_static/image14.jpg)](cubecart-on-iis/_static/image13.jpg) -4. Give write access permissions to images/upload folder. - - [![Screenshot of the Permissions for Uploads dialog box with a highlight on a user name.](cubecart-on-iis/_static/image16.jpg)](cubecart-on-iis/_static/image15.jpg) -5. Delete the install folder from the directory before accessing the installed application. - -Installation is complete. Access the application by browsing the index.php file using the path `http://localhost/cubecart/index.php`. - -[![Screenshot of Welcome to CubeCart webpage.](cubecart-on-iis/_static/image18.jpg)](cubecart-on-iis/_static/image17.jpg) - -[![Screenshot of CubeCart's Test Product webpage.](cubecart-on-iis/_static/image20.jpg)](cubecart-on-iis/_static/image19.jpg) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, please use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image1.jpg deleted file mode 100644 index 248b9800f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image10.jpg deleted file mode 100644 index 896c15dda..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image11.jpg deleted file mode 100644 index 078f81750..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image12.jpg deleted file mode 100644 index 078f81750..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image13.jpg deleted file mode 100644 index cfe66670a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image14.jpg deleted file mode 100644 index cfe66670a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image15.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image15.jpg deleted file mode 100644 index 29641ad6c..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image16.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image16.jpg deleted file mode 100644 index 29641ad6c..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image17.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image17.jpg deleted file mode 100644 index 75a30329e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image17.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image18.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image18.jpg deleted file mode 100644 index 75a30329e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image18.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image19.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image19.jpg deleted file mode 100644 index 4cd78a1a3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image19.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image2.jpg deleted file mode 100644 index 248b9800f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image20.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image20.jpg deleted file mode 100644 index 4cd78a1a3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image20.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image3.jpg deleted file mode 100644 index 520d3bb57..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image4.jpg deleted file mode 100644 index 520d3bb57..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image5.jpg deleted file mode 100644 index ae1395c72..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image6.jpg deleted file mode 100644 index ae1395c72..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image7.jpg deleted file mode 100644 index 89d142bc6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image8.jpg deleted file mode 100644 index 89d142bc6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image9.jpg deleted file mode 100644 index 896c15dda..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/cubecart-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis.md deleted file mode 100644 index 6dc6ee7cb..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: "ExpressionEngine on IIS" -author: rick-anderson -description: "Introduction ExpressionEngine is a flexible, feature-rich content management system that empowers thousands of individuals, organizations, and companies arou..." -ms.date: 01/17/2008 -ms.assetid: 80b02fea-6773-499c-a470-733b02c34f79 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis -msc.type: authoredcontent ---- -# ExpressionEngine on IIS - -by Eric Woersching - -## Introduction - -ExpressionEngine is a flexible, feature-rich content management system that empowers thousands of individuals, organizations, and companies around the world to easily manage their websites. - -For more information about ExpressionEngine, see [http://ExpressionEngine.com/](http://expressionengine.com/). - -In this section, we go through the steps that are required to install ExpressionEngine to work with FastCGI extension on IIS 7.0 and above, and Windows Server® 2008. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack ExpressionEngine - -First, download the latest stable release of the ExpressionEngine application. For this article, we use ExpressionEngine (EECore1.6.1). Download the full package from the mirror [https://secure.expressionengine.com/download.php?ACT=agreement&id=34](https://secure.expressionengine.com/download.php?ACT=agreement&id=34). - -Once you download the package, uncompress it and copy the files and folders to `C:\Inetpub\wwwroot\eecore`. - -## Set Up the Database - -Before starting the installation procedure for ExpressionEngine, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'expressionengine' -- Database User: 'eemsuser' -- Account Password: 'eems' - -## Set Up and Configure ExpressionEngine - -Installation information and setup information documents are available at [https://expressionengine.com/](https://expressionengine.com/). - -Follow these steps: - -1. Rename the "eecore\System" folder to "eecore\microsoftsystem". This increases security by keeping the directory containing your ExpressionEngine backend files hidden from public access. -2. Delete the following file and directory. They upgrade from the previous version. - - - Eecore\microsoftsystem /update.php --- Delete this file - - Eecore\microsoftsystem/updates --- Delete this folder -3. Provide all permissions to the IIS user for the following folders: - - - images/avatars/uploads/ - - images/captchas/ - - images/member\_photos/ - - images/pm\_attachments/ - - images/signature\_attachments/ - - images/uploads/ - - system/cache/ - - [![Screenshot of Permissions for uploads dialog box. Permissions for I I S underscore I U S R S are all selected and allowed.](expressionengine-on-iis/_static/image2.jpg)](expressionengine-on-iis/_static/image1.jpg) - -## Run the Installation Script - -Inside the root directory, you find a file called install.php. Browse to the install using `http://localhost/eecore/install.php`. This runs a script which configures your database and sets up the default site. Be sure that you access the file through your webserver and not by loading the file into your web browser locally. - -1. Click the "Click Here to begin" button to start installation - [![Screenshot of local host web page. Click here to begin button is found near the bottom of the web page.](expressionengine-on-iis/_static/image4.jpg)](expressionengine-on-iis/_static/image3.jpg) -2. Accept the agreement and click Submit. - [![Screenshot of the Expressions Engine Installation Wizard. The button next to the text I agree to abide by the license Terms and Conditions as stated above is selected.](expressionengine-on-iis/_static/image6.jpg)](expressionengine-on-iis/_static/image5.jpg) -3. Provide a name for the folder, which you renamed from System. Click Submit. - [![Screenshot of the Expressions Engine Installation Wizard. A box for the name of the system folder is shown above the submit button.](expressionengine-on-iis/_static/image8.jpg)](expressionengine-on-iis/_static/image7.jpg) -4. Provide the details of your database: Admin username, password, time zone, etc. Click install ExpressionEngine. - - - MySQLUserName as: eemsuser - - MySQLPassword as: eems - - MySQLDataBase as : expressionengine - - Admin account user name as : expressionengineadmin - - And password as : eeadmin - - [![Screenshot of the Expressions Engine Installation Wizard. The Server Settings page is shown.](expressionengine-on-iis/_static/image10.jpg)](expressionengine-on-iis/_static/image9.jpg) - - [![Screenshot of the Expressions Engine Installation Wizard. The Database Settings page is shown.](expressionengine-on-iis/_static/image12.jpg)](expressionengine-on-iis/_static/image11.jpg) - - [![Screenshot of the Expressions Engine Installation Wizard. The Create your admin account page is shown.](expressionengine-on-iis/_static/image14.jpg)](expressionengine-on-iis/_static/image13.jpg) - - [![Screenshot of the Expressions Engine Installation Wizard. The Localization Settings page and Choose your default template design page is shown.](expressionengine-on-iis/_static/image16.jpg)](expressionengine-on-iis/_static/image15.jpg) -5. You see the confirmation screen for a successful installation. - [![Screenshot of the Expressions Engine Installation Wizard. The text says that Expression Engine has been successfully installed!](expressionengine-on-iis/_static/image18.jpg)](expressionengine-on-iis/_static/image17.jpg) -6. Login to the Control Panel using the Admin username and password. - [![SCreenshot of the Control Panel Login page. The username and password box are shown. The submit button is also shown.](expressionengine-on-iis/_static/image20.jpg)](expressionengine-on-iis/_static/image19.jpg) - -The following are some screenshots of ExpressionEngine after it is up and running on IIS. - -[![Screenshot of the Expression Engine web page. The home page is shown.](expressionengine-on-iis/_static/image22.jpg)](expressionengine-on-iis/_static/image21.jpg) - -[![Screenshot of the Expression Engine web page. The modules tab is displayed and a list of modules is shown.](expressionengine-on-iis/_static/image24.jpg)](expressionengine-on-iis/_static/image23.jpg) - -[![Screenshot of the Expression Engine web page. The Default Site Weblog is displayed. Text on Getting Started with Expression Engine is written under the date Monday, December 10, 2007.](expressionengine-on-iis/_static/image26.jpg)](expressionengine-on-iis/_static/image25.jpg) - -[![Screenshot of the Expression Engine web page. The Default Site Weblog is displayed.](expressionengine-on-iis/_static/image28.jpg)](expressionengine-on-iis/_static/image27.jpg) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, please use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image1.jpg deleted file mode 100644 index 06355ed9b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image10.jpg deleted file mode 100644 index dbd0c6ff5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image11.jpg deleted file mode 100644 index 293e404fd..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image12.jpg deleted file mode 100644 index 293e404fd..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image13.jpg deleted file mode 100644 index d1f82a5cb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image14.jpg deleted file mode 100644 index d1f82a5cb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image15.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image15.jpg deleted file mode 100644 index c224f6ffa..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image16.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image16.jpg deleted file mode 100644 index c224f6ffa..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image17.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image17.jpg deleted file mode 100644 index fea453af7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image17.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image18.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image18.jpg deleted file mode 100644 index fea453af7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image18.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image19.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image19.jpg deleted file mode 100644 index 65bbaa9f0..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image19.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image2.jpg deleted file mode 100644 index 06355ed9b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image20.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image20.jpg deleted file mode 100644 index 65bbaa9f0..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image20.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image21.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image21.jpg deleted file mode 100644 index f2d8fa76d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image21.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image22.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image22.jpg deleted file mode 100644 index f2d8fa76d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image22.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image23.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image23.jpg deleted file mode 100644 index 801359a76..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image23.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image24.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image24.jpg deleted file mode 100644 index 801359a76..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image24.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image25.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image25.jpg deleted file mode 100644 index 448452e37..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image25.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image26.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image26.jpg deleted file mode 100644 index 448452e37..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image26.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image27.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image27.jpg deleted file mode 100644 index abbd0bce5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image27.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image28.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image28.jpg deleted file mode 100644 index abbd0bce5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image28.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image3.jpg deleted file mode 100644 index 14bbe386b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image4.jpg deleted file mode 100644 index 14bbe386b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image5.jpg deleted file mode 100644 index 01d7a4bc2..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image6.jpg deleted file mode 100644 index 01d7a4bc2..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image7.jpg deleted file mode 100644 index fe3fc10e4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image8.jpg deleted file mode 100644 index fe3fc10e4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image9.jpg deleted file mode 100644 index dbd0c6ff5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/expressionengine-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis.md deleted file mode 100644 index ffe0fed6d..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: "Gallery2 on IIS" -author: rick-anderson -description: "Gallery is a web application that lets you manage your photos on your own website. With Gallery, you can easily create and maintain photo albums via an intui..." -ms.date: 12/18/2007 -ms.assetid: 7e1bbc1e-badb-481e-93e0-e3b01b0d82f4 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis -msc.type: authoredcontent ---- -# Gallery2 on IIS - -by Eric Woersching - -## Introduction - -Gallery is a web application that lets you manage your photos on your own website. With Gallery, you can easily create and maintain photo albums via an intuitive interface. Photo management includes automatic thumbnail creation, image resizing, rotation, ordering, captioning, searching and more. Albums and photos can have view, edit, delete and other permissions per an individual authenticated user for an additional level of privacy. - -For more information about Gallery, refer to [http://gallery.menalto.com/](http://gallery.menalto.com/). - -The following sections describe how to install and configure Gallery for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described here in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -The instructions have been tested and work in the following configurations: - -- Windows Server® 2003 operating system -- IIS 6.0 -- PHP 5.2.4 -- MySQL 5.0.45 -- Gallery 2.2.3 – typical install - -## Notes on PHP Setup - -Gallery does not need many modifications beyond the default configuration provided by PHP **.** From the base configuration file provided by PHP, you only need to modify the following lines in your php.ini configuration file to get Gallery working: - -- Define `extension\_dir` as `c:\php\ext` (i.e., the location of your PHP extensions directory) -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support -- Uncomment `extension=php\_gd2.dll` in the extension list to enable graphics toolkit - -## Download and Unpack the Application - -The latest releases of Gallery are found at [http://gallery.menalto.com/](http://gallery.menalto.com/). The instructions in this document are based on version 2.2.3, but future versions will likely be very similar as far as installation is concerned. - -After downloading the zip package, extract its contents to `C:\Inetpub\wwwroot\Gallery2` or another directory of your choosing. You do not need to modify the permissions on the Gallery web directory, as the default permissions suffice. - -## Set Up Storage Directory - -Gallery requires a separate directory for storing all photos and related data, such as thumbnails. For security reasons, we recommend that you create this directory outside of the web root. - -For this walkthrough, we created a directory called g2data on C: drive `C:\g2data`. You must grant web server write permissions to this directory. Since FastCGI impersonates the requests from all users, make sure that the user account used for impersonation has write access to this directory. For example, if your web site or virtual directory is configured for Anonymous authentication, then you must grant "Internet Guest Account" write access to `C:\g2data`. - -![Screenshot of the g 2 data properties dialog. Internet Guest Account is highlighted.](gallery2-on-iis/_static/image1.png) - -## Set Up the Database - -In order to use Gallery, you must have access to some kind of a database. For this walkthrough, we use MS SQL Server® 2005. You can also use MySQL, MS SQL Server Express or others. - -Before starting the install, create a database on your server. Also create a database user and grant this user db ownership permission to the database. - -1. If you are using MS SQL Server 2005, then open Microsoft SQL Server Management Studio and click the "New Query" button. -2. Enter the following script into the query window (this script creates the database and user that are necessary for the Gallery application). - - [!code-sql[Main](gallery2-on-iis/samples/sample1.sql)] -3. Grant the newly created user the db\_owner permissions to Gallery2 database: - - ![Screenshot of the Database User window. The user name is highlighted in the main pane.](gallery2-on-iis/_static/image3.png) - -## Set Up and Configure the Application - -Open your web browser and browse to `http://localhost/gallery2/install/index.php`. - -1. Click "Begin installation" to go to the authenticate page. - ![Screenshot of a browser window. Authenticate is highlighted in the Install Steps pane.](gallery2-on-iis/_static/image5.png) -2. Follow the instructions and save the login.txt file into the Gallery2 directory. -3. Click "Authenticate Me". - - Proceed to the next steps to perform a system check and choose the installation type. For this walkthrough, we use "Standard Installation" option. - -4. Specify the path to the data directory that you have created earlier. If you have configured permissions for g2data correctly, you can proceed to the next step after clicking "Save". - - ![Screenshot of a browser window. Storage Setup is highlighted in the Install Steps pane.](gallery2-on-iis/_static/image7.png) - -In Step 5 in the "Install Steps" pane, enter the required database information. If you have setup the database and user correctly, clicking "Save" takes you to the subsequent installation steps. - -![Screenshot of a browser window. Database Setup is highlighted in the Install Steps pane.](gallery2-on-iis/_static/image9.png) - -In Step 7 in the "Install Steps" pane, you are asked to create an empty config.php file in Gallery2 folder: - -![Screenshot of a browser window. Create Config file is highlighted in the Install Steps pane.](gallery2-on-iis/_static/image11.png) - -Make sure that the web server has write permissions to this file. For this walkthrough, we allowed write permissions to this file for "Internet Guest Account". - -After that, proceed through the remaining installation steps. Once you have completed the installation, you can login to the newly created Gallery using the administrator user name and password which you specified during installation. - -![Screenshot of a browser window. The login dialog is open in the main pane.](gallery2-on-iis/_static/image13.png) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image1.png deleted file mode 100644 index 235f230c1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image10.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image10.png deleted file mode 100644 index 4d203dd6a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image10.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image11.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image11.png deleted file mode 100644 index 2bc625168..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image11.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image12.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image12.png deleted file mode 100644 index 2bc625168..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image12.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image13.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image13.png deleted file mode 100644 index 1eb1802d2..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image13.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image14.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image14.png deleted file mode 100644 index 1eb1802d2..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image14.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image2.png deleted file mode 100644 index 235f230c1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image3.png deleted file mode 100644 index 876dd9e9d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image4.png deleted file mode 100644 index 876dd9e9d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image5.png deleted file mode 100644 index 0a7fb3aff..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image6.png deleted file mode 100644 index 0a7fb3aff..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image7.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image7.png deleted file mode 100644 index 749c44525..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image7.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image8.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image8.png deleted file mode 100644 index 749c44525..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image8.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image9.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image9.png deleted file mode 100644 index 4d203dd6a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/_static/image9.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/samples/sample1.sql b/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/samples/sample1.sql deleted file mode 100644 index 0c682491e..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/gallery2-on-iis/samples/sample1.sql +++ /dev/null @@ -1,17 +0,0 @@ -USE [master] -GO - -CREATE DATABASE gallery2 -GO - -CREATE LOGIN [gallery2] -WITH PASSWORD=N'pass@word1', - DEFAULT_DATABASE=[gallery2], - CHECK_EXPIRATION=OFF, - CHECK_POLICY=OFF -GO - -USE [gallery2] -GO - -CREATE USER [gallery2] FOR LOGIN [gallery2] WITH DEFAULT_SCHEMA=[dbo] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis.md deleted file mode 100644 index f95c89ac5..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Geeklog on IIS" -author: rick-anderson -description: "Geeklog is a PHP/MySQL based application for managing dynamic web content. It is a blog engine, or a CMS with support for comments, track backs, multiple syn..." -ms.date: 12/18/2007 -ms.assetid: a65396b9-8c0d-4a8d-8ba0-518b1c3be28e -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis -msc.type: authoredcontent ---- -# Geeklog on IIS - -by Eric Woersching - -## Introduction - -Geeklog is a PHP/MySQL based application for managing dynamic web content. It is a blog engine, or a [CMS](http://en.wikipedia.org/wiki/Web_content_management_system "Click to look up 'CMS' on Wikipedia") with support for comments, track backs, multiple syndication formats, spam protection, and all the other vital features of such a system. The core Geeklog distribution is easily extended by community-developed plugins, including forums and image galleries. - -For more information about Geeklog, see [http://www.geeklog.net](http://www.geeklog.net/). - -In this article, we go through the steps that would be required to install Geeklog to work with FastCGI extension on IIS6.0. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis) - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack the Application - -First, download the latest stable release of Geeklog. For this article, we use Geeklog 1.4.1 downloaded from [here](http://www.geeklog.net/filemgmt/viewcat.php?cid=8). Once you downloaded the package, uncompress it - -> [!NOTE] -> For this walkthrough, we extracted the files to D:\Geeklog. - -Everything outside the public\_html directory should not be visible over the web, as it contains sensitive information. Hence, copy the content of public\_html out into a directory served by your web server - -> [!NOTE] -> For this walkthrough, we copied the content to directory D:\public\_html and created a virtual directory called 'Geeklog' pointing to D:\public\_html. - -## Set Up the Database - -In order to use Geeklog, you must have access to a database. For this walkthrough, we use MS SQL Server 2005. You can also use MySQL or MS SQL Express. - -Before starting the install, create a database on your server. Also create a database user and grant this user db ownership permission to the database. If you are using MS SQL Server 2005, then open Microsoft SQL Server Management Studio and click the "New Query" button. Enter the following script into the query window (this script creates the database and user that are necessary for the Geeklog application). - -[!code-sql[Main](geeklog-on-iis/samples/sample1.sql)] - -> [!NOTE] -> Make sure the login Geeklog has permission to create tables inside the Geeklog database. - -## Configure the Application - -1. Start by making the following updates to config.php. The examples that follow are specific to this walkthrough. - - - Set $\_CONF['path'] to point to the directory where your config.php file resides. - - [!code-powershell[Main](geeklog-on-iis/samples/sample2.ps1)] - - Set $\_CONF['path\_html'] to point to where the contents of public\_html have been placed. - - [!code-powershell[Main](geeklog-on-iis/samples/sample3.ps1)] - - Set Geeklog to use MSSQL and configure the Sql login credentials. - - [!code-powershell[Main](geeklog-on-iis/samples/sample4.ps1)] - - Set $\_CONF['site\_url'] - - [!code-console[Main](geeklog-on-iis/samples/sample5.cmd)] -2. Edit lib-common.php and change the require\_once() at the top to point to the location of your config.php file. - - For more information on how to install Geeklog, refer to [http://www.geeklog.net/docs/install.html](http://www.geeklog.net/docs/install.html). -3. Afterwards, open your web browser and browse to `http://localhost/geeklog/admin/install/install.php`. - - ![Screenshot of the Geeklog installation window showing step 1 instructions.](geeklog-on-iis/_static/image1.png) -4. Select the installation type from the drop down. For this walkthrough, we set up a new Microsoft SQL Server database. Set the path to config.php and click Next. - - ![Screenshot of the Geeklog database settings screen.](geeklog-on-iis/_static/image3.png) -5. We are now ready to setup the database and complete the installation. Click Next. - [Screenshot of the Geeklog welcome screen.](geeklog-on-iis/_static/image5.png) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, please use the FastCGI forums: - -- [IIS.NET / IIS 6 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image1.png deleted file mode 100644 index 98291515a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image2.png deleted file mode 100644 index 98291515a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image3.png deleted file mode 100644 index f4ca231a5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image4.png deleted file mode 100644 index f4ca231a5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image5.png deleted file mode 100644 index 721c9fdf9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image6.png deleted file mode 100644 index 721c9fdf9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample1.sql b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample1.sql deleted file mode 100644 index 5b2ebd3af..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample1.sql +++ /dev/null @@ -1,17 +0,0 @@ -USE [master] -GO - -CREATE DATABASE Geeklog -GO - -CREATE LOGIN [Geeklog] -WITH PASSWORD=N'Geeklog', - DEFAULT_DATABASE=[Geeklog], - CHECK_EXPIRATION=OFF, - CHECK_POLICY=OFF -GO - -USE [Geeklog] -GO - -CREATE USER [Geeklog] FOR LOGIN [Geeklog] WITH DEFAULT_SCHEMA=[dbo] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample2.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample2.ps1 deleted file mode 100644 index a0ea147eb..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample2.ps1 +++ /dev/null @@ -1 +0,0 @@ -$_CONF['path'] = 'd:/geeklog/'; // should end in a slash \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample3.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample3.ps1 deleted file mode 100644 index e6e105b2c..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample3.ps1 +++ /dev/null @@ -1 +0,0 @@ -$_CONF['path_html'] = 'd:/public_html/'; \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample4.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample4.ps1 deleted file mode 100644 index 895b08ba2..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample4.ps1 +++ /dev/null @@ -1,5 +0,0 @@ -$_DB_dbms = 'mssql'; // 'mssql' (Microsoft SQL Server) -$_DB_host = 'localhost'; // Name of your database server -$_DB_name = 'Geeklog'; // Name of the database -$_DB_user = 'Geeklog'; // MSSQL user name -$_DB_pass = 'Geeklog'; // MSSQL password \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample5.cmd deleted file mode 100644 index 01ba01bda..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/geeklog-on-iis/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -e.g. $_CONF['site_url'] = 'http://localhost/geeklog'; \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/how-to-deploy-applications-on-the-microsoft-web-platform-for-php.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/how-to-deploy-applications-on-the-microsoft-web-platform-for-php.md deleted file mode 100644 index 396aaf41a..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/how-to-deploy-applications-on-the-microsoft-web-platform-for-php.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "How to Deploy Applications on the Microsoft Web Platform for PHP" -author: rick-anderson -description: "There are a couple of steps you can take to optimize deployment of your applications on the Microsoft Web Platform, including: Translate .htaccess Files to W..." -ms.date: 11/15/2009 -ms.assetid: a0f87507-9376-4359-815e-12386286abd4 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/how-to-deploy-applications-on-the-microsoft-web-platform-for-php -msc.type: authoredcontent ---- -# How to Deploy Applications on the Microsoft Web Platform for PHP - -by Tali Smith - -There are a couple of steps you can take to optimize deployment of your applications on the Microsoft Web Platform, including: - -- [Translate .htaccess Files to Web.config Files](translate-htaccess-content-to-iis-webconfig.md). This article shows how to use the IIS web.config file for the functions performed by the Apache .htaccess functions. -- [Provide URL Rewriting Functionality](provide-url-rewriting-functionality.md). The URL Rewrite Module provides flexible rules-based rewrite engine that can be used to perform broad spectrum of URL manipulation tasks. - -You can use the [Web Platform Installer (Web PI)](https://www.microsoft.com/web/Downloads/platform.aspx) to easily download a variety of applications, including DasBlog (an ASP.NET blogging application), AtomSite (an online publishing platform), and Moodle (a learning management system). - -You can also visit the [Windows Web App Gallery](https://www.microsoft.com/web/gallery/) for one-click installation of applications such as Gallery (Web-based photo gallery), Umbraco (content management system), mojoPortal (content management system and web application framework for ASP.NET 3.5), DotNetNuke (content management system and application development framework), and Kentico CMS for ASP.NET (content management system). - -[Using FastCGI to Host PHP Applications on IIS 7.0 and Above](using-fastcgi-to-host-php-applications-on-iis.md) and [Using FastCGI to Host PHP Applications on IIS 6.0](using-fastcgi-to-host-php-applications-on-iis-60.md) provide instructions for setting up FastCGI and PHP to host applications; this information is also detailed in a number of articles in [Install the Microsoft Web Platform](../install-and-configure-php-on-iis/index.md). - -For guidance in manually deploying specific applications, see: - -- Install [Zen Cart](install-zen-cart-on-iis.md) (open-source online store management system) -- Install [osCommerce](install-oscommerce-on-iis.md) (open-source based, online shopping and e-commerce solution) -- Install [Drupal](install-drupal-on-iis.md) (open-source content management system) -- Install [Joomla](install-joomla-on-iis.md) (open-source content management system) -- Install [WordPress](install-wordpress-on-iis.md) (a blogging package) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis.md deleted file mode 100644 index 7ae32c856..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: "Install Drupal on IIS" -author: ruslany -description: "Introduction Drupal is a free, open-source content management system (CMS) software that lets individuals or communities of users easily publish, manage, and..." -ms.date: 09/19/2008 -ms.assetid: abceda1a-91b8-4d9d-820d-0dfc0128771a -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis -msc.type: authoredcontent ---- -# Install Drupal on IIS - -by [Ruslan Yakushev](https://github.com/ruslany) - -## Introduction - -Drupal is a free, open-source content management system (CMS) software that lets individuals or communities of users easily publish, manage, and organize a wide variety of content on a Web site. - -For more information about Drupal, visit the [Drupal Web site](http://www.drupal.org/). - -This article describes how to install and configure Drupal for use with the FastCGI extension on Internet Information Services 7 (IIS 7) and above on Windows® Web Server 2008. The instructions assume that you have set up and configured the FastCGI extension and the PHP libraries. The instructions have been tested and found to work with the following software versions: - -- PHP 5.2.9 -- MySQL 5.1.34 -- Drupal 6.14 - -## Prerequisites - -From the base default configuration file provided by PHP, modify the following lines in your **Php.ini** configuration: - -- Define `extension\_dir` as `c:\php\ext` (for example, the location of your PHP extensions directory). -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support. - -In order for Drupal to work correctly with IIS 7 and above, it is necessary to install an [update for the IIS FastCGI module for IIS 7](https://blogs.iis.net/ruslany/archive/2008/08/27/update-for-iis-7-0-fastcgi-module.aspx). - -## Download and Unpack the Application - -First, download the latest stable release of [Drupal](http://www.drupal.org/). For this article, Drupal version 6.14 was used (future versions are likely to be similar to install). Uncompress the Drupal files and copy them to `C:\Inetpub\wwwroot\drupal` (or another directory of your choosing). - -Before running the Drupal installer, create the configuration file **Settings.php**, which Drupal uses to store key configuration settings. Assign write permissions to it with the command (from the installation directory): - -1. Copy the **.\sites\default\default.settings.php** file to **.\sites\default\settings.php**. -2. Grant "write" permissions to the file. - - [!code-console[Main](install-drupal-on-iis/samples/sample1.cmd)] -3. The installer will modify the Settings.php file with information provided during the installation process. -4. Check to ensure that the file permissions are set back to "read only" once the installation is complete. If the file permissions did not change back, you must change them manually with the command: - - [!code-console[Main](install-drupal-on-iis/samples/sample2.cmd)] -5. Drupal uses the Sites\Default\Files directory to store temporary files and therefore must be able to write and modify files in this folder. -6. Create the folder: - - [!code-console[Main](install-drupal-on-iis/samples/sample3.cmd)] -7. Grant "modify" permissions to the folder: - - [!code-console[Main](install-drupal-on-iis/samples/sample4.cmd)] - -## Set Up the Database - -Before starting the installation procedure for Drupal, you must create a database on your server. Also create a user and grant this user "db ownership" permission to the database. This article uses the following database information: - -- Database name: **drupal** -- Database user: **drupal** -- Account password: **drupal** - -### Run the Installation Script - -1. Open a Web browser, and go to `http://localhost/drupal/`. The first page of the installation script appears. Click **Install Drupal in English**. The Verify requirements step should proceed automatically unless you are missing requirements. - - ![Screenshot of a browser window with the Drupal language page in a tab.](install-drupal-on-iis/_static/image1.jpg) - *Figure 1: Choose language page* -2. On the **Database configuration page**, type the following information: - - - Database name: **drupal** - - User name: **drupal** - - Password: **drupal** - - Click **Save and continue**. The required database tables are created, and the configuration is saved into the Sites\Default\Settings.php file. Remove the "modify" permissions on this file. - - ![Screenshot of a browser window showing the Drupal database configuration page.](install-drupal-on-iis/_static/image3.jpg) - *Figure 2: Database configuration page* -3. On the **Configure site** page, enter the required configuration information. - - ![Screenshot of a browser window showing the Drupal Configure site page.](install-drupal-on-iis/_static/image5.jpg) - *Figure 3: Configure site page* - -## Enable Clean URLs - -By default, Drupal uses query string parameters for all the URLs it generates for your Web site. With the URL Rewrite Module, however, you can create "clean URLs." - -IIS 6.0 does not have URL rewriting capabilities, so you can use a third-party URL rewriting product such as [ISAPI Rewrite](https://www.iis.net/downloads?tabid=34&g=6&i=1599) or Ionics ISAPI Rewrite Filter. - -IIS 7 and above have URL rewriting support, which can be enabled by installing the [URL Rewrite Module](../../extensions/url-rewrite-module/using-the-url-rewrite-module.md). - -The following instructions describe how the URL Rewrite Module for IIS 7 and above can be used to enable clean URLs in Drupal. - -1. Open the **Web.config** file located in `C:\inetpub\wwwroot\drupal` folder. If you do not have a Web.config file in the **drupal** directory, create it. -2. Copy and paste the following XML code into this file. - - [!code-xml[Main](install-drupal-on-iis/samples/sample5.xml)] -3. Save the **web.config** file. -4. Open a Web browser, and go to `http://localhost/Drupal/index.php?q=admin/settings/clean-urls`. - ![Screenshot of a browser window showing the Clean U R L page.](install-drupal-on-iis/_static/image7.jpg) - *Figure 4: Clean URLs page* -5. Under **Clean URLs**, select the **Enabled** option button, and then click **Save configuration**. If you successfully changed the URL format, all the URLs are represented in a hierarchical form that does not use query string parameters (for example, `http://localhost/Drupal/admin/settings/clean-urls`). - -> [!NOTE] -> *This article updates: " Drupal on IIS" by Ruslan Yakushev, published on September 19, 2008.* - -## Links for Further Information - -- [Setting up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md). -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](using-fastcgi-to-host-php-applications-on-iis.md). -- [Installing PHP on Windows Vista with FastCGI](../install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md). -- [Installing FastCGI Support On Server Core](../install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md). -- [FastCGI forum](https://forums.iis.net/1104.aspx). -- [PHP community forum](https://forums.iis.net/1102.aspx). -- [Clean URLs on IIS](http://drupal.org/node/3854). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image1.jpg deleted file mode 100644 index a6dad8bfb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image2.jpg deleted file mode 100644 index a6dad8bfb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image3.jpg deleted file mode 100644 index 3820c3d2d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image4.jpg deleted file mode 100644 index 3820c3d2d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image5.jpg deleted file mode 100644 index 3ab82b100..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image6.jpg deleted file mode 100644 index 3ab82b100..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image7.jpg deleted file mode 100644 index 52787eae0..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image8.jpg deleted file mode 100644 index 52787eae0..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample1.cmd deleted file mode 100644 index 59c957a36..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\inetpub\wwwroot\Drupal\sites\default>icacls settings.php /grant BUILTIN\IIS_IUSRS:(W) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample2.cmd deleted file mode 100644 index c7be86bb6..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\inetpub\wwwroot\Drupal>icacls sites\default\settings.php /reset \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample3.cmd deleted file mode 100644 index 025d8cf80..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\inetpub\wwwroot\Drupal>md sites\default\files \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample4.cmd deleted file mode 100644 index ff611ac5a..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\inetpub\wwwroot\Drupal>icacls sites\default\files /grant BUILTIN\IIS_IUSRS:(OI)(CI)(M) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample5.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample5.xml deleted file mode 100644 index 84ecf3d3f..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis/samples/sample5.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis.md deleted file mode 100644 index 72d537118..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis.md +++ /dev/null @@ -1,162 +0,0 @@ ---- -title: "Install Joomla! on IIS" -author: ruslany -description: "Introduction Joomla is an open-source content management system (CMS) that lets you build Web sites and powerful online applications, such as: Corporate Web..." -ms.date: 12/12/2008 -ms.assetid: fce8b5fe-9ba3-4ca1-aab1-51d877bb0b17 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis -msc.type: authoredcontent ---- -# Install Joomla! on IIS - -by [Ruslan Yakushev](https://github.com/ruslany) - -## Introduction - -Joomla is an open-source content management system (CMS) that lets you build Web sites and powerful online applications, such as: - -- Corporate Web sites or portals -- Corporate intranets and extranets -- Online magazines, newspapers, and publications -- E-commerce and online reservations -- Government applications -- Small business Web sites -- Non-profit and organizational Web sites -- Community-based portals -- School and church Web sites -- Personal or family home pages - -For more information about Joomla, visit the [Joomla Web site](http://www.joomla.org/). - -This article describes how to install and configure Joomla for use with the FastCGI extension on Internet Information Services 7 (IIS 7) and above on Windows® Web Server 2008. The instructions assume that you have set up and configured the FastCGI extension and the PHP libraries. The instructions have been tested and found to work with the following software versions: - -- PHP 5.2.9 -- MySQL 5.1.34 -- Joomla 1.5.14 - -## Prerequisites - -From the base default configuration file provided by PHP, modify the following lines in your **Php.ini** configuration: - -- Define `extension\_dir` as `c:\php\ext` (for example, the location of your php extensions directory). -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support. - -In order for Joomla to work correctly with IIS 7 and above, it is necessary to install an [Update for IIS FastCGI module for IIS 7](https://blogs.iis.net/ruslany/archive/2008/08/27/update-for-iis-7-0-fastcgi-module.aspx). - -## Download and Unpack the Application - -First, download the latest stable release of [Joomla](http://www.joomla.org/). For this article, Joomla version 1.5.14 was used (future versions are likely to be similar to install). Uncompress the Joomla files and copy them to **C:\Inetpub\wwwroot\joomla** (or another directory of your choosing). - -Before running the Joomla installer, create the configuration file **Configuration.php**, which Joomla uses to store key configuration settings. Assign write permissions to it with the command (from the installation directory): - -[!code-console[Main](install-joomla-on-iis/samples/sample1.cmd)] - -The installer will modify the **Configuration.php** file with information provided during the installation process. - -Joomla uses the Administrator\Cache folder Tmp and therefore needs to be able to write and modify files in this folder. Grant "modify" permissions to the folder: - -[!code-console[Main](install-joomla-on-iis/samples/sample2.cmd)] - -Joomla uses the temporary folder Tmp to store temporary files and therefore needs to be able to write and modify files in this folder. Grant "modify" permissions to the folder: - -[!code-console[Main](install-joomla-on-iis/samples/sample3.cmd)] - -## Set Up the Database - -Before starting the installation procedure for Joomla, you must create a database on your server. Also create a user and grant this user "db ownership" permission to the database. This article uses the following database information: - -- Database name: **joomla** -- Database user: **joomla** -- Account password: **joomla** - -## Run the Installation Script - -1. Start the configuration procedure in a Web browser. Go to `http://localhost/joomla/`. (If the Index.php file is not in the browser default document, then add it.) -2. Select the *language*, and then click **Next**. - - ![Screenshot of the Joomla installation page showing Choose Language in the main pane.](install-joomla-on-iis/_static/image1.jpg) - - *Figure 1: Choose Language page* -3. Verify that all pre-installation checks are successful, and then click **Next**. - - ![Screenshot of the Joomla installation page showing the pre-installation check results in the main pane.](install-joomla-on-iis/_static/image3.jpg) - - *Figure 2: Pre-installation Check page* -4. Review the GNU General Public License, and then click **Next**. - - ![Screenshot of the Joomla installation page showing license information in the main pane.](install-joomla-on-iis/_static/image5.jpg) - - *Figure 3: License page* -5. On this page enter the following information, and then click **Next**. - - - Host Name: **localhost** - - Username: **joomla** - - Password: **joomla** - - Database: **joomla** - - ![Screenshot of the Joomla installation page showing Database Configuration settings in the main pane.](install-joomla-on-iis/_static/image7.jpg) - - *Figure 4: Database Configuration page* -6. On the **FTP Configuration** page, select the **No** option button (not to enable FTP file system layer), and then click **Next**. - - ![Screenshot of the Joomla installation page. F T P configuration settings are showing in the main pane.](install-joomla-on-iis/_static/image9.jpg) - - *Figure 5: FTP Configuration page* -7. Specify the *site name* and the *administrator password*. Click **Next** to complete the installation. - - Note: You may scroll down and install sample data if you prefer. - - ![Screenshot of the Joomla installation page. Main configuration settings are showing in the main pane.](install-joomla-on-iis/_static/image11.jpg) - - *Figure 6: Main Configuration page* -8. The Finish page appears, and you are instructed to delete the `C:\inetpub\wwwroot\joomla\installation` directory. - - ![Screenshot of the Joomla installation page showing the Finish page in the main pane.](install-joomla-on-iis/_static/image13.jpg) - - *Figure 7: Finish page* -9. You can now go to the Joomla site. - - ![Screenshot showing the main Joomla web site .](install-joomla-on-iis/_static/image15.jpg) - - *Figure 8: Joomla site* - -## Enable Search Engine Friendly URLs - -By default, Joomla uses query string parameters for all the URLs it generates for your Web site. You change this by enabling search engine friendly URLs, a feature which relies on the URL rewriting functionality. - -IIS 6.0 does not include URL rewriting capabilities; you can use a third-party URL rewriting product such as [ISAPI\_Rewrite](https://www.iis.net/downloads?tabid=34&g=6&i=1599) or Ionics ISAPI Rewrite Filter. - -IIS 7 and above includes URL rewriting support, which can be enabled by installing Microsoft URL Rewrite Module for IIS 7. - -1. Download and install the **Microsoft URL Rewrite Module**. -2. If it does not already exist; create and open a **Web.config** file located in the `C:\inetpub\wwwroot\joomla` directory. -3. Paste the following XML code into this file. - - [!code-xml[Main](install-joomla-on-iis/samples/sample4.xml)] -4. Save the **web.config** file. -5. Open a Web browser, and log on to the Joomla administrator console at `http://localhost/joomla/administrator/`. -6. Click on **Site** --> **Global Configuration** menu to configure SEO Settings: - - - Search Engine Friendly URLs - **Yes** - - Add suffix to URLs - **No** - ![Screenshot showing the global configuration Joomla page.](install-joomla-on-iis/_static/image17.jpg) - *Figure 9: Global Configuration page* -7. Click **Apply** to save the configuration. -8. Restart **Windows® Internet Explorer®**. -9. Go to `http://localhost/joomla/`. All links in Joomla pages now have URLs without query string parameters. If you click on any of these links, the server returns a correct response: - - ![Screenshot showing links on a Joomla page.](install-joomla-on-iis/_static/image19.jpg) - - *Figure 10: Links in Joomla page* - -> [!NOTE] -> *This article updates " Joomla! on IIS" by Ruslan Yakushev, published on December 12, 2008.* - -## Links for Further Information - -- [Setting up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md). -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](using-fastcgi-to-host-php-applications-on-iis.md). -- [Installing PHP on Windows Vista with FastCGI](../install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md). -- [Installing FastCGI Support On Server Core](../install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md). -- [FastCGI forum](https://forums.iis.net/1104.aspx). -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image1.jpg deleted file mode 100644 index 1103e0e99..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image10.jpg deleted file mode 100644 index e79cd2508..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image11.jpg deleted file mode 100644 index 9bbcb8bad..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image12.jpg deleted file mode 100644 index 9bbcb8bad..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image13.jpg deleted file mode 100644 index c9c495391..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image14.jpg deleted file mode 100644 index c9c495391..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image15.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image15.jpg deleted file mode 100644 index 32df357e4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image16.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image16.jpg deleted file mode 100644 index 32df357e4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image17.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image17.jpg deleted file mode 100644 index a65845e55..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image17.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image18.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image18.jpg deleted file mode 100644 index a65845e55..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image18.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image19.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image19.jpg deleted file mode 100644 index af4337dc7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image19.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image2.jpg deleted file mode 100644 index 1103e0e99..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image20.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image20.jpg deleted file mode 100644 index af4337dc7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image20.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image3.jpg deleted file mode 100644 index 09cca209a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image4.jpg deleted file mode 100644 index 09cca209a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image5.jpg deleted file mode 100644 index 1c448d51c..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image6.jpg deleted file mode 100644 index 1c448d51c..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image7.jpg deleted file mode 100644 index 96c887ad7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image8.jpg deleted file mode 100644 index 96c887ad7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image9.jpg deleted file mode 100644 index e79cd2508..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample1.cmd deleted file mode 100644 index a2cb9455c..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\inetpub\wwwroot\joomla>icacls configuration.php /grant BUILTIN\IIS_IUSRS:W \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample2.cmd deleted file mode 100644 index d87dc0ca2..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\inetpub\wwwroot\Joomla>icacls administrator\cache /grant BUILTIN\IIS_IUSRS:(OI)(CI)(M) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample3.cmd deleted file mode 100644 index 35b0a0d93..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\inetpub\wwwroot\Joomla>icacls tmp /grant BUILTIN\IIS_IUSRS:(OI)(CI)(M) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample4.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample4.xml deleted file mode 100644 index f6fa2e23d..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-joomla-on-iis/samples/sample4.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis.md deleted file mode 100644 index 3a3019773..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Install osCommerce on IIS" -author: rick-anderson -description: "Introduction OsCommerce is an open-source online shopping and e-commerce solution that is available for free under the GNU General Public License. It feature..." -ms.date: 01/15/2008 -ms.assetid: 08359c89-a4f4-438e-8935-daea7e6aaff4 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis -msc.type: authoredcontent ---- -# Install osCommerce on IIS - -by Eric Woersching - -## Introduction - -OsCommerce is an open-source online shopping and e-commerce solution that is available for free under the GNU General Public License. It features a rich set of online shopping cart functionality that lets users set up, run, and maintain their online stores with minimal effort and with no costs, fees, or limitations. - -For more information about osCommerce, visit the [osCommerce Web site](http://www.oscommerce.com/). - -This article describes how to install and configure osCommerce for use with the FastCGI extension on Internet Information Services 7 (IIS 7) and above and on Windows Server® 2008 R2. The instructions assume that you have set up and configured the FastCGI extension and the PHP libraries. - -## Download and Unpack the Application - -First, download the latest stable release of [osCommerce](https://www.oscommerce.com/download-oscommerce). For this article, oscommerce-2.2ms2-060817 was used. Uncompress the osCommerce files and copy the files in the "catalog" folder to `C:\Inetpub\wwwroot\oscommerce`. - -Set the permissions on the **osCommerce/include/Configure.php** file to read, write, and execute. (If these permissions are not set correctly, you get an error message.) - -Before running the osCommerce installer, grant "Write" permissions to the **Configure.php** file. - -[!code-console[Main](install-oscommerce-on-iis/samples/sample1.cmd)] - -## Set Up the Database - -Before starting the installation procedure for osCommerce, you must create a database on your server. Also create a user and grant this user "db ownership" permission to the database.This article uses the following database information: - -- Database name: **oscommerce** -- Database user: **oscommerceuser** -- Account password: **oscommerce** - -## Set Up and Configure the Application - -Update the **Php.ini** file to add the **Php\_mysql.dll** module under the **Dynamic Extensions** section in the file, and ensure that the extension directory points to the correct location: - -[!code-console[Main](install-oscommerce-on-iis/samples/sample2.cmd)] - -1. Start the configuration procedure in a Web browser. Go to `http://www.my-server.com/osCommerce/catalog`. (If the Index.php file is not in the browser default document, then add it.) -2. Click on the installation link on the top of the page to redirect to the Install Wizard. The welcome page appears on the Web browser, and the configuration procedure can be started by clicking **Continue**. - - ![Screenshot of the o s Commerce welcome page in a web browser.](install-oscommerce-on-iis/_static/image1.jpg) - - *Figure 1: Welcome screen* -3. Next, provide details for the osCommerce database that you have created. Click **Continue**. - - ![Screenshot of the specified o s Commerce Database Server for a New Installation.](install-oscommerce-on-iis/_static/image3.jpg) - - *Figure 2: Database import* -4. You can now accept the default settings; or you can change the *URL* in the **WWW Address** box and change the *path* in the **Webserver Root Directory** box. Click **Continue**. - - ![Screenshot of the specified Web Server for a New o s Commerce Installation.](install-oscommerce-on-iis/_static/image5.jpg) - - *Figure 3: Database import was successful* -5. Provide the information for your new Online Store, and then click **Continue**. - - ![Screenshot of the specified Online Store Settings for a New o s Commerce Installation.](install-oscommerce-on-iis/_static/image7.jpg) - - *Figure 4: osCommerce configuration* -6. The following message appears after a successful installation. - - ![Screenshot of the confirmation page after successfully installing.](install-oscommerce-on-iis/_static/image9.jpg) - - *Figure 5: osCommerce configuration successful* - -## Post Installation - -After installing osCommerce, follow these steps to make your application secure and functional. - -1. Rename or delete the **osCommerce/install** folder. -2. Reset the permissions on **osCommerce/includes/configure.php** to read and execute. -3. Set the permissions on the **osCommerce/images** directory to read, write, and execute. -4. Set the permissions on the **admin/images/graphs** directory to read, write, and execute. -5. Create the directory **admin/backups** and set the permissions to read, write, and execute. (Save the database backup of your store in the "Tools" section of store administration in the **admin/backups** directory). - -## Test osCommerce - -To test that osCommerce was successfully installed, try to chat with an operator to obtain support: - -1. Go to `http://localhost/oscommerce/index.php`. - - ![Screenshot of the new o s Commerce test site home page.](install-oscommerce-on-iis/_static/image11.jpg) - - *Figure 6: osCommerce page* -2. Shop by selecting the items available in the left panel. - - ![Screenshot of the shopping cart with one item in the o s Commerce site.](install-oscommerce-on-iis/_static/image13.jpg) - - *Figure 7: Shop at osCommerce* - -> [!NOTE] -> *This article updates " osCommerce on IIS" by Eric Woersching, published on October 24, 2008.* - -## Links for Further Information - -- [Setting up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md). -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](using-fastcgi-to-host-php-applications-on-iis.md). -- [Installing PHP on Windows Vista with FastCGI](../install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md). -- [Installing FastCGI Support On Server Core](../install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md). -- [FastCGI forum](https://forums.iis.net/1104.aspx). -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image1.jpg deleted file mode 100644 index c88a46499..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image10.jpg deleted file mode 100644 index f46db8f8b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image11.jpg deleted file mode 100644 index 742aaf065..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image12.jpg deleted file mode 100644 index 742aaf065..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image13.jpg deleted file mode 100644 index 18a05c612..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image14.jpg deleted file mode 100644 index 18a05c612..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image2.jpg deleted file mode 100644 index c88a46499..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image3.jpg deleted file mode 100644 index 3d5b5d503..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image4.jpg deleted file mode 100644 index 3d5b5d503..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image5.jpg deleted file mode 100644 index b99d55d08..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image6.jpg deleted file mode 100644 index b99d55d08..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image7.jpg deleted file mode 100644 index eaea0e15a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image8.jpg deleted file mode 100644 index eaea0e15a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image9.jpg deleted file mode 100644 index f46db8f8b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/samples/sample1.cmd deleted file mode 100644 index 280623231..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/samples/sample1.cmd +++ /dev/null @@ -1,2 +0,0 @@ -C:\inetpub\wwwroot\oscommerce\catalog\includes>icacls configure.php /grant BUILTIN\IIS_IUSRS:W -C:\inetpub\wwwroot\oscommerce\catalog\admin\includes>icacls configure.php /grant BUILTIN\IIS_IUSRS:W \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/samples/sample2.cmd deleted file mode 100644 index edb852170..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-oscommerce-on-iis/samples/sample2.cmd +++ /dev/null @@ -1,2 +0,0 @@ -extension_dir = "./ext" -extension=php_mysql.dll \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis.md deleted file mode 100644 index 20da03c18..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: "Install WordPress on IIS" -author: rick-anderson -description: "Introduction WordPress is a blog publishing application and content management system. According to wordpress.org, WordPress is “a state-of-the-art semantic..." -ms.date: 12/18/2007 -ms.assetid: 788066e2-c44d-4cea-b1fc-6ae6cab25454 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis -msc.type: authoredcontent ---- -# Install WordPress on IIS - -by Eric Woersching - -## Introduction - -WordPress is a blog publishing application and content management system. According to wordpress.org,WordPress is "a state-of-the-art semantic personal publishing platform with a focus on aesthetics, Web standards, and usability." The following sections describe how to install and configure WordPress for use with FastCGI on Internet Information Services 7 (IIS 7) and above. This document assumes that you have completed the setup and configuration of the [FastCGI extension and PHP libraries](using-fastcgi-to-host-php-applications-on-iis-60.md). - -The easiest way to install WordPress is by downloading it from the Windows® Web App Gallery. If you need the Microsoft® Web Platform, you can install the components with the Microsoft® Web Platform Installer (Web PI), which is also available at the [Windows Web App Gallery](https://www.microsoft.com/web/gallery/Categories.aspx?sorting=alphabetical). - -The following article provides guidance for installing WordPress manually. The instructions have been tested and found to work in the following configurations: - -- Windows Server® 2008 operating system -- IIS 7 -- PHP 5.2.9 -- MySQL 5.1.34 -- WordPress 2.8.5 - -## Prerequisites - -From the base default configuration file provided by PHP, modify the following lines in your Php.ini configuration: - -- Define `extension\_dir` as `c:\php\ext` (for example, the location of your php extensions directory). -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support. - -## Download and Unpack the Application - -First, download the latest stable release of [WordPress](http://wordpress.org/download/). For this article, WordPress version 2.8.5 was used. Uncompress the WordPress files and copy the files to `C:\Inetpub\wwwroot\wordpress` or another directory of your choosing. There is no need to modify permissions on the WordPress Web directory, because the default permissions suffice. - -## Set Up the Database - -Before starting the installation procedure for WordPress, you must create a database on your server. Also create a user and grant this user "db ownership" permission to the database. This article uses the following database information: - -- Database name: **wordpress** -- Database user: **wordpress** -- Account password: **wordpress** - -## Modify the Configuration File - -Modify the WordPress configuration file to connect to the database. - -1. From **Windows® Explorer**, navigate to the installation directory `C:\inetpub\wwwroot\wordpress`, and rename the file **wp-config-sample.php** to **wp-config.php**. -2. Edit **wp-config.php**; change the **DB\_NAME**, **DB\_USER**, **DB\_PASSWORD**, and **DB\_HOST** values as follows: - -[!code-xml[Main](install-wordpress-on-iis/samples/sample1.xml)] - -## Setup and Configure the Application - -1. From **Windows® Internet Explorer®**, go to `http://localhost/wordpress/wp-admin/install.php`. -2. Type the *name* of your blog and your *e-mail address*, and then click **Install WordPress**. - - ![Screenshot of a browser window showing the WordPress installation page.](install-wordpress-on-iis/_static/image1.jpg) - - *Figure 1: Enter information* -3. Note the temporary password assigned for the administrator account. - - ![Screenshot of a browser window showing the WordPress success page.](install-wordpress-on-iis/_static/image3.jpg) - - *Figure 2: Note the administrator password* -4. Begin managing your blog from `http://localhost/wordpress/wp-login.php`. - - ![Screenshot of a browser window showing the WordPress log in page.](install-wordpress-on-iis/_static/image5.jpg) - - *Figure 3: Log on to blog* -5. The Welcome page appears. - - ![Screenshot of a browser window showing the WordPress welcome page.](install-wordpress-on-iis/_static/image7.jpg) - - *Figure 4: Welcome page* - -## Enable "Pretty Permalinks" - -Typically, WordPress users must use "almost pretty" URLs (for example, `http://contoso.com/index.php/yyyy/mm/dd/post-name/`). With the URL Rewrite module, you can create "Pretty Permalinks" (for example, `http://example.com/year/month/day/post-name/`) for WordPress blogs hosted on IIS. - -The steps that follow assume that WordPress is installed in a Web site root directory. If WordPress is installed in a subdirectory, then the rewrite rules must be included in the Web.config file located within the same subdirectory as the WordPress files. - -1. Install **URL Rewrite Go Live** release. -2. Log on to **WordPress** as an administrator. -3. Click the **Settings** button. -4. Click the **Permalinks** tab for the **Customize Permalink Structure** page. - - ![Screenshot of a browser window showing the permalink settings page. Settings is selected on the dashboard pane.](install-wordpress-on-iis/_static/image9.jpg) - - *Figure 5: Customize permalink structure page* -5. Select **Custom Structure**, and then type - **/%year%/%monthnum%/%day%/%postname%/** in the **Custom Structure** text box. -6. Click **Save Changes**. You will see that all the blog post links have URLs that follow the format you have specified; however, if you click any link, the Web server returns a 404 - File Not Found error, because WordPress relies on a URL rewriting capability within a server to rewrite requests that have "pretty permalinks" to an Index.php file. - -## Create Rewrite Rule - -1. Open the **Web.config** file (located in the same directory as the WordPress files). If you do not have a Web.config file in the WordPress directory, create it. -2. Copy and paste the following XML section into the system.webServer element: - - [!code-xml[Main](install-wordpress-on-iis/samples/sample2.xml)] - -This rule matches any requested URL; if the URL does not correspond to a file or a folder on a file system, then the rule rewrites the URL to Index.php and determines which content to serve based on the REQUEST\_URI server variable that contains the original URL before it was modified by the rule. - -## Test the Rewrite Rule - -After the rewrite rule is saved to the Web.config file, open a Web browser, and then click any one of the permalinks in WordPress blog. You should see the correct content returned by the Web server for every permalink. - -![Screenshot of a browser window showing the example blog welcome page.](install-wordpress-on-iis/_static/image11.jpg) -*Figure 6: Blog welcome page* - -> [!NOTE] -> *This article updates " WordPress on IIS" by Eric Woersching, published on September 11, 2008.* - -## Links for Further Information - -- [Setting up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md). -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](using-fastcgi-to-host-php-applications-on-iis.md). -- [Installing PHP on Windows Vista with FastCGI](../install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md). -- [Installing FastCGI Support On Server Core](../install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md). -- [FastCGI forum](https://forums.iis.net/1104.aspx). -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image1.jpg deleted file mode 100644 index b118d0da6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image10.jpg deleted file mode 100644 index 01608fd55..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image11.jpg deleted file mode 100644 index 887d82e03..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image12.jpg deleted file mode 100644 index 887d82e03..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image2.jpg deleted file mode 100644 index b118d0da6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image3.jpg deleted file mode 100644 index 959f8a743..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image4.jpg deleted file mode 100644 index 959f8a743..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image5.jpg deleted file mode 100644 index 738bdc39a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image6.jpg deleted file mode 100644 index 738bdc39a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image7.jpg deleted file mode 100644 index a6df9f062..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image8.jpg deleted file mode 100644 index a6df9f062..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image9.jpg deleted file mode 100644 index 01608fd55..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/samples/sample1.xml deleted file mode 100644 index 436e975e2..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/samples/sample1.xml +++ /dev/null @@ -1,23 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/samples/sample2.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/samples/sample2.xml deleted file mode 100644 index 74d78fe4f..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis/samples/sample2.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis.md deleted file mode 100644 index 77ea7a7fe..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: "Install Zen Cart on IIS" -author: rick-anderson -description: "Zen Cart is a PHP-based, open-source online store management system. It uses a MySQL database and HTML components. Support is provided for several languages..." -ms.date: 01/15/2008 -ms.assetid: 5500e35b-b189-46dd-aa51-a222ef773b82 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis -msc.type: authoredcontent ---- -# Install Zen Cart on IIS - -by Eric Woersching - -## Introduction - -Zen Cart is a PHP-based, open-source online store management system. It uses a MySQL database and HTML components. Support is provided for several languages and currencies, and it is freely available under the GNU General Public License (GPL). - -For more information about Zen Cart, visit the [Zen Cart](http://www.zen-cart.com/) Web site. - -This article describes how to install and configure Zen Cart for use with the FastCGI extension on Internet Information Services 7 (IIS 7) and above, and on Windows Server® 2008. The instructions assume that you have set up and configured the FastCGI extension and the PHP libraries. The instructions have been tested and found to work with the following software versions: - -- PHP 5.2.9 -- MySQL 5.1.34 -- Zen Cart 1.3.8 - -## Download and Unpack the Application - -First, download the latest stable release of [Zen Cart](http://www.zen-cart.com/). For this article, zen-cart-v1.3.8 was used (future versions are likely to be similar to install). Uncompress and copy all the files and folders to `C:\Inetpub\wwwroot\zencart` (or another directory of your choosing). - -## Set Up the Database - -Before starting the installation procedure for Zen Cart, you must create a database on your server. Also create a user and grant this user "db ownership" permission to the database. This article uses the following database information: - -- Database name: **zencart** -- Database user: **zencart** -- Account password: **zencart** - -## Set Up and Configure the Application - -Update the **Php.ini** file to add the **Php\_mysql.dll** module under the **Dynamic Extensions** section in the file, and ensure that the extension directory points to the correct location: - -[!code-console[Main](install-zen-cart-on-iis/samples/sample1.cmd)] - -Note that this article uses the "/zencart" folder as an example, but this is not required. You may use another folder, or you can install Zen Cart in the "root" directory (the base of your Web site). - -## Create the Configure.php Files - -You must create files to identify the settings of your particular server and the location of the Zen Cart files you loaded, and then change the permissions on these files. - -1. On the server, locate the file **/zencart/includes/dist-configure.php**. -2. Rename this file to **configure.php**. -3. On the server, locate the file **/zencart/admin/includes/dist-configure.php**. -4. Rename this file to **configure.php**. -5. Change the permissions for these two files to read, execute, and write by opening a command prompt. -6. Browse to the `C:\inetpub\wwwroot\zencart` directory. -7. Type **icacls includes\configure.php /grant BUILTIN\IIS\_IUSRS:W** -8. Type **icacls admin\includes\configure.php /grant BUILTIN\IIS\_IUSRS:W** -9. Type **icacls cache /grant BUILTIN\IIS\_IUSRS:W** - -## Run the Installer - -The installer automatically supplies information during installation, but you must confirm that the auto-detected answers are correct (they may differ on some servers): - -1. Confirm the *physical path* to your Zen Cart directory (for example, `C:\Inetpub\wwwroot\zencart`). -2. Go to the http://localhost/zc\_install/zencart/install.php page for detailed setup instructions. -3. On the **Welcome** screen, click **Continue.** -4. At the **license page**, read and confirm acceptance of the GPL licensing agreement. -5. The installer examines your server for compliance with the technical requirements for running Zen Cart. Anything marked in red or with an "X" must be addressed before the installer can continue. Items marked with an orange or yellow caution symbol are simply warnings that may or may not apply to your setup at this point. -6. If you make changes to your server, click **Re-Check** (or press **F5** in your browser) to refresh the display and reflect the changes made before proceeding. -7. When the system inspection is satisfactory (all green check marks), click **Install** at the bottom of the screen. - - [![Screenshot of System inspection results. Green check marks appear on the left hand side of the list. ](install-zen-cart-on-iis/_static/image2.jpg)](install-zen-cart-on-iis/_static/image1.jpg) - - *Figure 1: System inspection results* -8. Provide database information about your *MySQL database*, *user name*, and *password*. If you do not have a MySQL database setup with a user name and password, you must create one. - - [![Screenshot of the My S Q L database. The Database setup information is displayed.](install-zen-cart-on-iis/_static/image4.jpg)](install-zen-cart-on-iis/_static/image3.jpg) - - *Figure 2: Database setup* -9. Next, you are prompted for *phpBB path* information. If you have the phpBB forum software already installed on your site, enable it for connectivity and synchronization from Zen Cart by specifying the path where the phpBB files are located. (For example, if the files are located in ...public\_html/forums, enter /forums in the Zen Cart installer for the path to the phpBB files.) - If you do not have the phpBB forum software already installed on your site, select **No**. -10. Complete the Store information about your e-commerce shop. Except for demonstration data, all of the information can also be (re)configured later in the administrator area of your shop. -11. To install the demonstration data, select **Yes**, and then click **Save Store Settings**. -12. Complete the administrator information to set your *login name*, *admin e-mail address*, and *password*. Note that both the login name and password are case sensitive. -13. Save the administrator settings to complete installation. Providing there were no errors during installation, you can now enter the Admin or the Catalog. - -## After Installation - -When you enter the Catalog, you receive security warnings about the Configure.php files and the /zc\_install directory. - -### Configure.php files - -Change the permissions on the **Configure.php** files to read and execute: - -[!code-console[Main](install-zen-cart-on-iis/samples/sample2.cmd)] - -Note that "zencart" is used as an example in this article; your site may or may not include "zencart" as a folder name. - -1. Open a command prompt. -2. Browse to `c:\inetpub\wwwroot\zencart`. -3. Type **icacls includes\configure.php /reset** -4. Type **icacls admin\includes\configure.php /reset** -5. Download a copy of these files to your computer from the server; they have been set up and configured to your server specifications based on the installation process. Most errors or problems can be corrected with minor adjustments to these two files. - -### zc\_install directory - -Delete the **/zencart/zc\_install** directory. If you are only testing and plan to install again, rename the folder (for example, /catalog/zc\_install\_complete) until you take your site live. - -Note that it is better to use a name other than zc\_install\_complete; some hackers may try to use it if they have read this help file. - -For security reasons, do not leave a zc\_install folder on the server of a live site. - -> [!NOTE] -> *This article updates " Zen Cart on IIS" by Eric Woersching, published on March 19, 2008.* - -## Links for Further Information - -- [Setting up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md). -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](using-fastcgi-to-host-php-applications-on-iis.md). -- [Installing PHP on Windows Vista with FastCGI](../install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md). -- [Installing FastCGI Support On Server Core](../install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md). -- [FastCGI forum](https://forums.iis.net/1104.aspx). -- For more information about running PHP applications on IIS, see the [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image1.jpg deleted file mode 100644 index 596057234..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image2.jpg deleted file mode 100644 index 596057234..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image3.jpg deleted file mode 100644 index 78fef9459..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image4.jpg deleted file mode 100644 index 78fef9459..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/samples/sample1.cmd deleted file mode 100644 index 80c80ffba..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/samples/sample1.cmd +++ /dev/null @@ -1,2 +0,0 @@ -extension_dir = "./ext" -extension=php_mysql.dll \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/samples/sample2.cmd deleted file mode 100644 index 2674ad687..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/install-zen-cart-on-iis/samples/sample2.cmd +++ /dev/null @@ -1,3 +0,0 @@ -/zencart/includes/configure.php - -/zencart/admin/includes/configure.php \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis.md deleted file mode 100644 index f3523ce51..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: "LimeSurvey on IIS" -author: rick-anderson -description: "LimeSurvey is a fully functional online survey development and data entry system including data entry screen, public data entry script, conditional questions..." -ms.date: 08/02/2016 -ms.assetid: aa9490ce-563b-496d-bbd1-8d2ff2839073 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis -msc.type: authoredcontent ---- -# LimeSurvey on IIS - -by Eric Woersching - -## Introduction - -LimeSurvey is a fully functional online survey development and data entry system including data entry screen, public data entry script, conditional questions, method for issuing unqiue invitation links (tokens), emailing invitations and recording responses, and basic statistical analysis. - -For more information about LimeSurvey, see [https://www.limesurvey.org/](http://www.limesurvey.org/). - - In this section, we go through the steps required to install LimeSurvey to work with FastCGI extension on IIS 7.0 and above. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described in [this article](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack LimeSurvey - -First, download the latest stable release of the LimeSurvey application. For this article, we use LimeSurvey 2.5x downloaded from [https://www.limesurvey.org/#download](http://sourceforge.net/project/showfiles.php?group_id=74605.ir) - -Once you download the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\limesurvey`. - -## Set Up the Database - -Before starting the installation procedure for LimeSurvey, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'limesurvey' -- Database User: 'limesurveyuser' -- Account Password: 'limesurvey' - -## Set Up and Configure LimeSurvey - -### Install Required Libraries - -LimeSurvey requires two libraries named mbstring and php\_pdo\_mysql. To enable both libraries, open the PHP.ini file located in the PHP installation folder and search for mbstring and php\_pdo\_mysql. The lines that contain these stringsare most likely commented out with a semicolon. Remove the semicolons, save and restart your Web server. - LDAP and GD are optional libraries for the LimeSurvey tool. We have not enabled these tools for our application. - -### Run the Installation Script - -Go to `http://localhost/limesurvey/admin`. Now the LimeSurvey installation script starts. - -![Screenshot of the Lime Survey installation script. The Progress and Welcome text are shown.](limesurvey-on-iis/_static/image1.png) - -Follow the administration step – when you come to the database configuration screen please enter the credentials you configure for your database. - -![Screenshot of the local host slash lime survey slash admin web page. The Lime Survey installation script starts. The language selection menu is shown.](limesurvey-on-iis/_static/image2.png) - -### Login to the LimeSurvey Administration - -After completing the installation you will be forwarded to the administration login page at `http://your.domain.com/limesurvey/admin`. - -You should get the followin login screen. If you did not change the administration username and password during installation the default credentials are “admin” and “password” and must be changed as soon as possible. - -![Screenshot of the Lime Survey Administration log in page. The Username, Password, and Language boxes are shown.](limesurvey-on-iis/_static/image3.png) - -![Screenshot of the Lime Survey administration interface page. Options to Create survey, List Surveys, Global Settings, Comfort Update, Label sets, and templates are shown.](limesurvey-on-iis/_static/image4.png) - -## How to Use LimeSurvey - -Refer to the below link for admin setup and using LimeSurvey. - -[http://manual.limesurvey.org/](http://manual.limesurvey.org/) - -If you would like to check out/import some sample survey there are several surveys available in `C:\Inetpub\wwwroot\limesurvey\docs\samplesurveys` - -Refer to the following screen shots for the survey. - -![Screenshot of the Sample Lime Survey page. Two questions are shown. The first question asks What city do you live in? The second question asks How long have you lived in years?](limesurvey-on-iis/_static/image5.png) - -![Screenshot of the Sample Lime Survey page. The question Which do you like best about? is written on the page. Choices are given in a drop down menu.](limesurvey-on-iis/_static/image6.png) - -## Getting More Information - -To discuss the FastCGI support in IIS, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx) -- [IIS 7.0 FastCGI forums](https://forums.iis.net/1104.aspx) - -To get more information regarding running various PHP applications on IIS refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image1.png deleted file mode 100644 index abe45ed17..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image2.png deleted file mode 100644 index 71436e2df..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image3.png deleted file mode 100644 index f7a13898a..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image4.png deleted file mode 100644 index d355d90c1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image5.png deleted file mode 100644 index 235543b1b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image6.png deleted file mode 100644 index 8b84fbbc7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/limesurvey-on-iis/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis.md deleted file mode 100644 index 989defec4..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Mambo on IIS" -author: rick-anderson -description: "Mambo is a free, open source content management system (CMS) that is developed in the PHP scripting language. It is a dynamic CMS and uses the free MySQL dat..." -ms.date: 12/18/2007 -ms.assetid: efd4ad25-b442-43a1-91a9-27fdf94cc370 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis -msc.type: authoredcontent ---- -# Mambo on IIS - -by Eric Woersching - -Mambo is a free, open source content management system (CMS) that is developed in the PHP scripting language. It is a dynamic CMS and uses the free MySQL database for storing data. The following sections describe how to install and configure Mambo for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described in [Using FastCGI to Host PHP Applications on IIS 6.0](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Notes on PHP Setup - -Mambo does not require many modifications beyond the default configuration provided by PHP. From the base configuration file provided by PHP, you only need to modify the following lines in your php.ini configuration file to get Mambo working: - -- Define `extension\_dir` as `c:\php\ext` (that is, the location of your php extensions directory) -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support - -## Download and Unpack the Application - -Download the latest stable release of Mambo. For this article we, use Mambo 4.6.2 downloaded from `http://www.source.mambo-foundation.org/content/view/90/63/`. After downloading the zip package, extract its contents to `C:\Inetpub\wwwroot\mambo` or another directory of your choosing. - -## Set Up the Database - -Before starting the installation procedure for Mambo, create a database on your server. Also create a database user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information - -- Database Name: 'mambo' -- Database User: 'mambouser' -- Account Password: 'mambo' - -## Directory Permissions Setup - -Enable write permission on the Mambo directory for the account that your web server uses for impersonation. For example, if you have configured the web site to impersonate Anonymous users to "Internet Guest Account" (IUSR\_\*), then you must grant this user write access to the directory: - -![Screenshot of the Permissions for Mambo dialog box. The Security Tab is displayed.](mambo-on-iis/_static/image1.png) - -## Configure the Application - -1. Open your web browser and browse to `http://localhost/mambo/installation/index.php`. This takes you to the Mambo setup page, where you see the results of the Mambo pre-installation tests. -2. When you have ensured that all the tests have passed, click "Next>>" at the top of the page. - - > [!NOTE] - > You can safely ignore the Session save path at this stage. If it is not set, Mambo will still function. - - ![Screenshot of a web browser screen displaying the Mambo Setup page. The results of the pre-installation check are displayed. ](mambo-on-iis/_static/image3.png) -3. On the next page Mambo, asks you to enter the DB information. Enter the correct information and click "Next >>". - - > [!NOTE] - > If your MySQL Server is configured to have strict mode enabled, then this step may fail. You must disable strict mode for MySQL in order for Mambo to succeed with the database setup. - - ![Screenshot of a web browser screen displaying the Mambo Installation website. The step 1 tab is displayed.](mambo-on-iis/_static/image5.png) -4. Enter your site's name. This is the global title of your Mambo-driven site. Enter a name, then press "Next >>" - ![Screenshot of a web browser screen displaying the Mambo Installation website. The step 2 tab is displayed.](mambo-on-iis/_static/image7.png) -5. In the next step, enter details for your site. The URL should be set to the external sitename to ensure proper configuration. In a local test setup, the URL may have an extra Mambo at the end (for example, `http://localhost/Mambo/Mambo`). Enter your administrator email and password. The final two options should be left in the default choices. Press "Next >>" - ![Screenshot of a web browser screen displaying the Mambo Installation website. The step 3 tab is displayed.](mambo-on-iis/_static/image9.png) -6. You are now finished setting up Mambo. Record your admin password. Delete the "installation" folder from `C:\Inetpub\wwwroot\Mambo` - - > [!NOTE] - > You must change the access permissions on the Mambo folder. Now that installation is complete, write access is not needed. - -Once the permissions have been specified, browse to `http://localhost/Mambo/index.php` for the "public" site, or log on at `http://localhost/Mambo/administrator/index.php` using the administrative username and password that you specified earlier. - -## Enabling search engine friendly URLs - -When hosting Mambo on IIS 7.0 it is possible to configure it to enable search engine friendly URLs. To do that follow these steps: - -1. Install [Microsoft URL Rewrite Module for IIS 7.0](https://www.iis.net/downloads/microsoft/url-rewrite "URL rewrite module") -2. Open configuration.php file in the folder where Mambo is installed and set $mosConfig\_sef= "1" -3. Create a web.config file in the same folder where Mambo is installed and paste into it the following: - - [!code-xml[Main](mambo-on-iis/samples/sample1.xml)] - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET/ IIS 6 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image1.png deleted file mode 100644 index c7f46b184..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image3.png deleted file mode 100644 index b9aa915b9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image5.png deleted file mode 100644 index 275281c4e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image7.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image7.png deleted file mode 100644 index 69c970c81..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image7.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image9.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image9.png deleted file mode 100644 index a547a8ae2..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/_static/image9.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/samples/sample1.xml deleted file mode 100644 index 862f0d447..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mambo-on-iis/samples/sample1.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis.md deleted file mode 100644 index f050ba135..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: "MediaWiki on IIS" -author: rick-anderson -description: "Introduction The following sections describe how to install and configure MediaWiki for use with FastCGI on Windows Server ® 2008. This document assumes that..." -ms.date: 01/14/2008 -ms.assetid: 1585f0f4-af98-42f5-9e51-433aa1456be8 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis -msc.type: authoredcontent ---- -# MediaWiki on IIS - -by Eric Woersching - -## Introduction - -The following sections describe how to install and configure [MediaWiki](http://www.mediawiki.org/wiki/MediaWiki) for use with FastCGI on Windows Server® 2008. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described [here](using-fastcgi-to-host-php-applications-on-iis.md). - -The instructions have been tested and found to work in the following configuration: - -- Windows Server 2008 RC0 -- IIS 7.0 -- PHP 5.2.4 Non-thread-safe Win32 binaries (RC2-dev) -- MySQL 5.0 -- MediaWiki 1.11.0 - -## Notes on PHP Setup - -1. Change the default session, upload folders and grant access to the built-in IIS\_IUSRS group. -2. Open a Command Prompt window with administrator privileges and run the following commands: - - [!code-console[Main](mediawiki-on-iis/samples/sample1.cmd)] - - [!code-console[Main](mediawiki-on-iis/samples/sample2.cmd)] - - [!code-console[Main](mediawiki-on-iis/samples/sample3.cmd)] - - From the base configuration file provided by PHP, you will need to modify your php.ini to have the following definitions: - - [!code-console[Main](mediawiki-on-iis/samples/sample4.cmd)] - - [!code-console[Main](mediawiki-on-iis/samples/sample5.cmd)] -3. Enable PHP support for MySQL. Modify your php.ini to define the extensions directory and uncomment the PHP MySQL extension definition: - - [!code-console[Main](mediawiki-on-iis/samples/sample6.cmd)] - -## Download and Unpack MediaWiki - -The latest release of MediaWiki is found at [https://www.mediawiki.org/wiki/Download](https://www.mediawiki.org/wiki/Download). The instructions in this document are based on version 1.11.0, but future versions are likely to be very similar as far as installation is concerned. - -1. After downloading the GNU zip package, extract its contents to `%SystemDrive%\Inetpub\wwwroot\MediaWiki` or another directory of your choosing. -2. Modify the permissions for the MediaWiki config folder and grant Write permissions for the built-in IIS\_IUSRS group. -3. Open a Command Prompt window with administrator privileges and run the following command: - - [!code-console[Main](mediawiki-on-iis/samples/sample7.cmd)] - -## Configure MediaWiki - -1. Begin the graphical MediaWiki installation procedure by pointing your browser at `http://localhost/mediawiki/config/index.php`. You see the following screen. - - [![Screenshot of the Media Wiki installer Environment checks.](mediawiki-on-iis/_static/image2.jpg)](mediawiki-on-iis/_static/image1.jpg) -2. Scroll down the window and configure your Wiki name and all the required fields. In the Database config section, enable the 'Use superuser account' checkbox and enter the database superuser password. - - [![Screenshot of the Media Wiki installer Database config. The checkbox next to Use Superuser account is checked.](mediawiki-on-iis/_static/image4.jpg)](mediawiki-on-iis/_static/image3.jpg) -3. Once you enter all the required information, click "Install MediaWiki!". The configuration page creates the database wikidb and saves your settings in the `%SystemDrive%\Inetpub\wwwroot\MediaWiki\config\LocalSettings.php` file. - - [![Screenshot of the Media Wiki installer install complete page. The text on the page says Installation successful!](mediawiki-on-iis/_static/image6.jpg)](mediawiki-on-iis/_static/image5.jpg) -4. Move the LocalSetting.php file to the `%SystemDrive%\Inetpub\wwwroot\MediaWiki\` folder and delete the folder `%SystemDrive%\Inetpub\wwwroot\MediaWiki\config` from your system. -5. LocalSetting.php contains sensitive information, so secure it by revoking access to unnecessary identities. Open a Command Prompt window with administrator privileges and run the following command: - - [!code-console[Main](mediawiki-on-iis/samples/sample8.cmd)] - - The previous command grants access only to the following identities: - - - SYSTEM - - BUILTIN\Administrators group - - Network Service -6. The installation is complete. Point your browser to `http://localhost/mediawiki/config/index.php`. - - [![Screenshot of the Media Wiki main page after installation. The text on the page says Media Wiki has been successfully installed.](mediawiki-on-iis/_static/image8.jpg)](mediawiki-on-iis/_static/image7.jpg) - -## Testing the Application - -For testing MediaWiki, create a user and modify the Main Page content. - -1. Navigate to `http://localhost/MediaWiki/index.php`. -2. Click the Log in / create account link in the top right corner. -3. Click the "Create an account" link. -4. Enter the username and password and click "Create account". - - [![Screenshot of the Media Wiki Log in and Create Account page. Boxes for Username, Password, Retype Password, and Real name are shown.](mediawiki-on-iis/_static/image10.jpg)](mediawiki-on-iis/_static/image9.jpg) - - [![Screenshot of the Media Wiki showing First User having been created. The text says Welcome, First User!](mediawiki-on-iis/_static/image12.jpg)](mediawiki-on-iis/_static/image11.jpg) -5. Go to the main page and click the Edit link. An Editor displays in which you can make your changes. When done with changes, click "Save Page". - - [![Screenshot of the Media Wiki editor for the Main Page.](mediawiki-on-iis/_static/image14.jpg)](mediawiki-on-iis/_static/image13.jpg) - -Here is the modified page. - -[![Screenshot of the Media Wiki page post edit. The text says Media Wiki running on I I S seven.](mediawiki-on-iis/_static/image16.jpg)](mediawiki-on-iis/_static/image15.jpg) - -## Enabling clean URLs with URL Rewrite Module - -When hosting MediaWiki on IIS 7.0, it is possible to configure MediaWiki to use URLs without query string by following these steps: - -1. Install [Microsoft URL Rewrite Module for IIS 7.0](https://www.iis.net/downloads?tabid=34&g=6&i=1691 "URL rewrite module") -2. Create a web.config file in the same folder where MediaWiki files were installed and paste into it the following - - [!code-xml[Main](mediawiki-on-iis/samples/sample9.xml)] -3. Update the LocalSettings.php file as follows: - - [!code-console[Main](mediawiki-on-iis/samples/sample10.cmd)] - -## Getting More Information - -To discuss the FastCGI support in IIS, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx) -- [IIS 7.0 FastCGI forums](https://forums.iis.net/1104.aspx) - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image1.jpg deleted file mode 100644 index 21ffcfcc3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image10.jpg deleted file mode 100644 index 4fee5b6f4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image11.jpg deleted file mode 100644 index 572c9b76f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image12.jpg deleted file mode 100644 index 572c9b76f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image13.jpg deleted file mode 100644 index 70af70c39..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image14.jpg deleted file mode 100644 index 70af70c39..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image15.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image15.jpg deleted file mode 100644 index b6f8ad2a8..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image16.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image16.jpg deleted file mode 100644 index b6f8ad2a8..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image2.jpg deleted file mode 100644 index 21ffcfcc3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image3.jpg deleted file mode 100644 index a0dc2298d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image4.jpg deleted file mode 100644 index a0dc2298d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image5.jpg deleted file mode 100644 index 0d66c2364..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image6.jpg deleted file mode 100644 index 0d66c2364..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image7.jpg deleted file mode 100644 index 3030b6747..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image8.jpg deleted file mode 100644 index 3030b6747..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image9.jpg deleted file mode 100644 index 4fee5b6f4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample1.cmd deleted file mode 100644 index 2f9922014..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -cd /d C:\php (i.e. the location of your php root directory) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample10.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample10.cmd deleted file mode 100644 index 2cd5a7336..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample10.cmd +++ /dev/null @@ -1,7 +0,0 @@ -## The URL base path to the directory containing the wiki; -## defaults for all runtime URL paths are based off of this. -## For more information on customizing the URLs please see: -## http://www.mediawiki.org/wiki/Manual:Short_URL -$wgScriptPath = "/MediaWiki"; -$wgScriptExtension = ".php"; -$wgArticlePath = "${wgScriptPath}/$1"; \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample2.cmd deleted file mode 100644 index 08ae0a4a6..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -md session \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample3.cmd deleted file mode 100644 index 2ced34acc..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample3.cmd +++ /dev/null @@ -1,2 +0,0 @@ -md upload -icacls session /grant BUILTIN\IIS_IUSRS:(OI)(CI)(M) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample4.cmd deleted file mode 100644 index c49a8988e..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -upload_tmp_dir="C:\php\upload" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample5.cmd deleted file mode 100644 index 5c0603718..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -session.save_path = "C:\php\session" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample6.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample6.cmd deleted file mode 100644 index 88109fab1..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample6.cmd +++ /dev/null @@ -1,2 +0,0 @@ -extension_dir = "C:\php\ext" (i.e. the location of your php extensions directory) -extension=php_mysql.dll \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample7.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample7.cmd deleted file mode 100644 index 35d20e34d..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample7.cmd +++ /dev/null @@ -1 +0,0 @@ -icacls %SystemDrive%\Inetpub\wwwroot\MediaWiki\config /grant BUILTIN\IIS_IUSRS:(W) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample8.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample8.cmd deleted file mode 100644 index f2394ad4c..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample8.cmd +++ /dev/null @@ -1 +0,0 @@ -cacls %SystemDrive%\inetpub\wwwroot\MediaWiki\LocalSettings.php /sddl:"D:PAI(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;NS)" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample9.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample9.xml deleted file mode 100644 index 0bacec3d6..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/mediawiki-on-iis/samples/sample9.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis.md deleted file mode 100644 index 256b2a9da..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "OpenAds on IIS" -author: rick-anderson -description: "Introduction OpenAds 2.0 is an ad server written in PHP that allows you to place banners on your website and manage your banners in a professional way. OpenA..." -ms.date: 01/17/2008 -ms.assetid: 641d5740-dcfb-463d-96d7-3ac1d85b2352 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis -msc.type: authoredcontent ---- -# OpenAds on IIS - -by Eric Woersching - -## Introduction - -OpenAds 2.0 is an ad server written in PHP that allows you to place banners on your website and manage your banners in a professional way. OpenAds is open source, which means you have access to the source code, licensed under the General Public License. OpenAds is the latest version of PHPAds. - -For more information about Revive Adserver (formerly OpenAds), see [https://www.revive-adserver.com/](https://www.revive-adserver.com/). - -In this section, we go through the steps required to install OpenAds to work with FastCGI extension on IIS 6.0 and IIS 7.0 and above. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack OpenAds - -First, download the latest stable release of the OpenAds application. For this article, we use Revive Adserver (formerly OpenAds). See [https://www.revive-adserver.com/](https://www.revive-adserver.com/). - -Once you download the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\openads`. - -## Set Up the Database - -Before starting the installation procedure for osCommerce, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'openads' -- Database User: 'openadsuser' -- Account Password: 'openads' - -## PHP Configuration for OpenAds - -OpenAds requires the following PHP configuration settings in the php.ini file. Refer to the PHP configuration settings document for more information. - -- file\_uploads must be turned on -- register\_long\_arrays must be turned on -- Register\_globals setting must be turned off -- MySql extension must be enabled - -## Running the Installation - -After placing the files on the Web server, make sure the Web server can change the file config.inc.php which holds the basic configuration settings. Check the properties of the file and make sure the read-only flag is not set. - -OpenAds 2.0 contains an automatic installer which does most of the work for you. Do not manually edit the configuration files, because that could cause problems in the future. Follow the guidance given below. - -1. To start the installer, open a Web browser and point it to the directory in which `http://localhost/openads`. This starts the installer automatically. For more information about Revive Adserver (formerly OpenAds), see [https://www.revive-adserver.com/](https://www.revive-adserver.com/). - - ![Screenshot of a browser window showing the OpenAds installer.](openads-on-iis/_static/image1.jpg) -2. Click Continue to start the configuration and read the license agreement. Click I agree. The installer verifies the configuration required for OpenAds. - - ![Screenshot showing the OpenAds system checks page.](openads-on-iis/_static/image3.jpg) - - ![Screenshot showing OpenAds file permission checks with no errors.](openads-on-iis/_static/image5.jpg) -3. Click Continue to go to the database setup. - - ![Screenshot showing the OpenAds database and advanced settings.](openads-on-iis/_static/image7.jpg) -4. Provide the necessary database information and click Continue. The installer checks for the information provided and confirms it in order to continue. - - ![Screenshot of a browser showing the OpenAds database configuration settings.](openads-on-iis/_static/image9.jpg) -5. Provide the necessary information related to the server. Click Continue. - - ![Screenshot of a browser showing the OpenAds server administrator account information.](openads-on-iis/_static/image11.jpg) -6. Provide the administrator account details. Click Continue. - - ![Screenshot of a browser showing the OpenAds installation progress bar and details.](openads-on-iis/_static/image13.jpg) -7. Select the default setup data. Click Continue to finish the installation with the default information. - - ![Screenshot of a browser showing the OpenAds successful installation screen.](openads-on-iis/_static/image15.jpg) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image1.jpg deleted file mode 100644 index ec55e5878..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image10.jpg deleted file mode 100644 index ff4baf719..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image11.jpg deleted file mode 100644 index 314db6099..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image12.jpg deleted file mode 100644 index 314db6099..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image13.jpg deleted file mode 100644 index ca65f6061..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image14.jpg deleted file mode 100644 index ca65f6061..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image15.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image15.jpg deleted file mode 100644 index 31618b5ef..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image16.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image16.jpg deleted file mode 100644 index 31618b5ef..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image2.jpg deleted file mode 100644 index ec55e5878..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image3.jpg deleted file mode 100644 index 9a689d108..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image4.jpg deleted file mode 100644 index 9a689d108..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image5.jpg deleted file mode 100644 index b251d3bd3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image6.jpg deleted file mode 100644 index b251d3bd3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image7.jpg deleted file mode 100644 index a3b2cdfdf..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image8.jpg deleted file mode 100644 index a3b2cdfdf..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image9.jpg deleted file mode 100644 index ff4baf719..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/openads-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis.md deleted file mode 100644 index 458682938..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "PHPList on IIS" -author: rick-anderson -description: "Introduction PHPList is an open-source newsletter manager and one-way email announcement delivery system. It is effective for newsletters, publicity lists, n..." -ms.date: 01/17/2008 -ms.assetid: 6869bc34-44d6-4d2b-ada2-7ff44836eb5f -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis -msc.type: authoredcontent ---- -# PHPList on IIS - -by Eric Woersching - -## Introduction - -PHPList is an open-source newsletter manager and one-way email announcement delivery system. It is effective for newsletters, publicity lists, notifications, and many other uses. It contains several features, such as tracking delivery status, tracking links and URLS, multiple templates for different subscribers, etc. - -For more information and features about PHPList, see [http://www.phplist.com/](http://www.phplist.com/). - -In this section, we go through the steps that would be required to install PHPList to work with FastCGI extension on IIS 7.0 and above, and Windows Server® 2008. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack PHPList - -First, download the latest stable release of the PHPList application. For this article, we use phplist-2.10.5.zip. Download the full package from the mirror [http://sourceforge.net/projects/phplist/](http://sourceforge.net/projects/phplist/). - -Once you download the package, uncompress it and copy the files and folders to a local folder. In this directory there is a directory public\_html which contains the directory "lists". Upload the "lists" directory into a directory you can access via the web. The rest of the files are for reference only and are not required for PHPList to work. - -> [!NOTE] -> The folder name for the PHPList application should be "lists," as it is hardcoded in some screens. If the folder name is not given as "lists," some of the admin screens may not work after the installation. The folder name can be changed if required in the configuration file. The folder structure we use for our application is `C:\Inetpub\wwwroot\lists`. - -## Set Up the Database - -Before starting the installation procedure for PHPList, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'phplistdb' -- Database User: 'phplist' -- Account Password: 'phplist' - -## Set Up and Configure PHPList - -Some of PHPList source files use only "<?" tag instead of "<?php" script tag. - -1. Configure the PHP to allow the "<?" tag. Set short\_open\_tag tag to on. -2. Set magic quotes to on by setting the magic\_quotes\_gpc on in the PHP.ini file. -3. Open the configuration file \lists\config\config.php in your editor and edit for the required database fields and folder details. We use the default details to create the folders like default folders. - -### Running the Installation Script - -1. After editing the configuration file, run the installation file by browsing to the index page located in the admin folder. -2. Open `http://localhost/lists/admin/index.php` in the browser. The system informs about database availability based on the configuration file and prompts for the table creation for the new installation. - - ![Screenshot of browser window displaying index page from admin folder. A list of default tables are displayed.](phplist-on-iis/_static/image1.jpg) - - ![Screenshot of browser window displaying lower portion of the list of default tables to create.](phplist-on-iis/_static/image3.jpg) -3. Click Continue with PHPList setup after creating the default tables. - - ![Screenshot of P H P List setup dialog box containing Login screen.](phplist-on-iis/_static/image5.jpg) -4. Login using the default user id "admin" and password "phplist". - - ![Screenshot of P H P List configuration options after admin login.](phplist-on-iis/_static/image7.jpg) -5. Change administration password and configure the general values by clicking on the specified links. - - ![Screenshot of P H P List dialog box displaying configuration parameters to edit. ](phplist-on-iis/_static/image9.jpg) -6. There several configuration parameters. Edit those parameters according to the application requirements. We use the default setup for testing. - - a. Click the "main page" link shown on the right side menu to access the admin main page. - - ![Screenshot of the P H P List main admin page. Main Page link is shown on right side menu.](phplist-on-iis/_static/image11.jpg) -7. Access the PHPLists administration page by clicking on the "lists" link shown on the right side menu. Here you can add, delete, or edit the list. - - ![Screenshot of the P H P Lists administration page with lists link shown.](phplist-on-iis/_static/image13.jpg) -8. Click "add a list" as shown below to add a new list. - - ![Screenshot of P H P Lists edit a list configuration screen.](phplist-on-iis/_static/image15.jpg) -9. Access the user admin index page by browsing to the application default folder `http://localhost/lists/index.php`. The installation is finished and you can access the application based on the settings provided by the admin user. - - ![Screenshot of P H P Lists user admin index page in browser screen after configuration.](phplist-on-iis/_static/image17.jpg) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx) - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image1.jpg deleted file mode 100644 index 3d0490bcd..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image10.jpg deleted file mode 100644 index 80edf947d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image11.jpg deleted file mode 100644 index eecdfa5b9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image12.jpg deleted file mode 100644 index eecdfa5b9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image13.jpg deleted file mode 100644 index b770063f7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image14.jpg deleted file mode 100644 index b770063f7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image15.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image15.jpg deleted file mode 100644 index 02fc9c73d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image16.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image16.jpg deleted file mode 100644 index 02fc9c73d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image17.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image17.jpg deleted file mode 100644 index bb232723f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image17.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image18.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image18.jpg deleted file mode 100644 index bb232723f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image18.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image2.jpg deleted file mode 100644 index 3d0490bcd..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image3.jpg deleted file mode 100644 index b8896d22e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image4.jpg deleted file mode 100644 index b8896d22e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image5.jpg deleted file mode 100644 index b55d66b09..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image6.jpg deleted file mode 100644 index b55d66b09..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image7.jpg deleted file mode 100644 index 08aaff489..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image8.jpg deleted file mode 100644 index 08aaff489..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image9.jpg deleted file mode 100644 index 80edf947d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phplist-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis.md deleted file mode 100644 index 507ef4622..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "PHPNuke on IIS" -author: rick-anderson -description: "PostNuke is a software application that creates an impressive, dynamic Web site and provides the webmaster with a site that they can administer through a Web..." -ms.date: 01/15/2008 -ms.assetid: 619cd008-51e4-4465-bea0-bb69b1b5afda -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis -msc.type: authoredcontent ---- -# PHPNuke on IIS - -by Eric Woersching - -## Introduction - -PostNuke is a software application that creates an impressive, dynamic Web site and provides the webmaster with a site that they can administer through a Web browser with a minimal amount of HTML knowledge. - -In addition, PostNuke's functionality can be increased by installing modules, blocks and themes. For example, you can add a forum, a gallery and a contact form. You can also change how the entire site looks by changing themes. All of this can be done with just a few clicks in the administration panel, saving hours of time, both in the initial creation of the website and in its day to day maintenance. - -For more information about PostNuke, see [http://www.postnuke.com/](http://www.postnuke.com/). - -In this section, we go through the steps required to install PostNuke to work with the FastCGI extension on IIS 6.0 and IIS 7.0 and above. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack PostNuke - -First, download the latest stable release of the PostNuke application framework. For this article, we use PostNuke-0.764.zip downloaded from the mirror [http://noc.postnuke.com/frs/?group\_id=5&release\_id=700](http://noc.postnuke.com/frs/?group_id=5&release_id=700). - -Once you download the package, uncompress it and copy all the files and folders in the HTML directory to `C:\Inetpub\wwwroot\postnuke` folder. - -## Set Up the Database - -Before starting the installation procedure for PostNuke, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'postnuke' -- Database User: 'postnukeuser' -- Account Password: 'postnuke' - -## Set Up and Configure the Application - -PostNuke is simple to install. - -1. To begin the install script, type the URL of the install.php file into your Web browser. If you installed PostNuke to your `c:\inetpub\wwwroot\postnuke` folder, the install file is located at `http://localhost/postnuke/install.php`. - [![Screenshot shows Post Nuke setup page with U R L field to enter the U R L of the install dot p h p file, and a Language drop down to set your preferred language.](phpnuke-on-iis/_static/image2.jpg)](phpnuke-on-iis/_static/image1.jpg) -2. From here, select the default language for your PostNuke site. The English language files are included with the distribution, so we select English. -3. Read through the license agreement. - - Following the license agreement, a CHMOD (or permissions) check is run on some files and directories. In order to install correctly, PostNuke must be able to write to certain files during the installation, and for the more advanced features, certain directories must also be writable. If these conditions are not met, a warning displays. - - In our case, the file register\_globals is used in other applications running on the same machine and is not set as off. - - [![Screenshot shows C H M O D file permission check being run on certain files.](phpnuke-on-iis/_static/image4.jpg)](phpnuke-on-iis/_static/image3.jpg) - - Once you pass the CHMOD, information about the database you created is required. The database host, database name, username, password, database type (i.e MySQL, PostgreSQL or similar) and table type are needed. The table prefix setting allows you to specify a prefix for each table in the database – meaning that PostNuke database tables will not conflict if you wish to have more than one installation using the same database. For most installs, the table prefix setting can be left as ‘pn', though if you plan to install PostNuke multiple times, change the prefix. -4. Once the details are filled in, click 'new install'. You are asked to verify the details you provided to the installer. - [![Screenshot shows install dot p h p page with database fields to create database. Start button shown at the bottom of the page to start database creation.](phpnuke-on-iis/_static/image6.jpg)](phpnuke-on-iis/_static/image5.jpg) -5. After the confirmation, the installer asks for database creation. Since we have already created the database, do not check the create database option before clicking Start. - [![Screenshot shows the database fields to review before selecting Start button to create database.](phpnuke-on-iis/_static/image8.jpg)](phpnuke-on-iis/_static/image7.jpg) -6. Confirmation on the created tables displays. Click Continue after the confirmation. - [![Screenshot shows the list of database tables created.](phpnuke-on-iis/_static/image10.jpg)](phpnuke-on-iis/_static/image9.jpg) -7. Provide the admin details for the setup and click the Set Login button. - [![Screenshot shows admin fields to set login. Set Login button shown at the bottom of the page to set admin login details.](phpnuke-on-iis/_static/image12.jpg)](phpnuke-on-iis/_static/image11.jpg) - -It confirms a successful installation. - -## How to Use - -Open the admin.php page to maintain the required information. - -[![Screenshot shows the admin dot p h p page with admin details to maintain the admin information.](phpnuke-on-iis/_static/image14.jpg)](phpnuke-on-iis/_static/image13.jpg) - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, please use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image1.jpg deleted file mode 100644 index 0d89756de..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image10.jpg deleted file mode 100644 index dc6f0b79c..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image11.jpg deleted file mode 100644 index b44b12fae..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image12.jpg deleted file mode 100644 index b44b12fae..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image13.jpg deleted file mode 100644 index b44b12fae..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image14.jpg deleted file mode 100644 index b44b12fae..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image2.jpg deleted file mode 100644 index 0d89756de..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image3.jpg deleted file mode 100644 index 0c8919b17..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image4.jpg deleted file mode 100644 index 0c8919b17..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image5.jpg deleted file mode 100644 index f7337ab6e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image6.jpg deleted file mode 100644 index f7337ab6e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image7.jpg deleted file mode 100644 index 4d8443616..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image8.jpg deleted file mode 100644 index 4d8443616..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image9.jpg deleted file mode 100644 index dc6f0b79c..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpnuke-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image1.jpg deleted file mode 100644 index f80c30ff1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image2.jpg deleted file mode 100644 index f80c30ff1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image3.jpg deleted file mode 100644 index 187f9d3b9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image4.jpg deleted file mode 100644 index 187f9d3b9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image5.jpg deleted file mode 100644 index e0c586cff..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image6.jpg deleted file mode 100644 index e0c586cff..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image7.jpg deleted file mode 100644 index 21febf2bc..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image8.jpg deleted file mode 100644 index 21febf2bc..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phprojekt-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis.md deleted file mode 100644 index 1eb5f0b48..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: "PHPWCMS on IIS" -author: rick-anderson -description: "PHPWCMS is a web content management system optimized for fast and easy setup and works on any standard web server. PHPWCMS is perfect for professional, publi..." -ms.date: 01/18/2008 -ms.assetid: b16dca49-5d35-491e-b033-1bfda2e1cbad -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis -msc.type: authoredcontent ---- -# PHPWCMS on IIS - -by Eric Woersching - -## Introduction - -PHPWCMS is a web content management system optimized for fast and easy setup and works on any standard web server. PHPWCMS is perfect for professional, public and private users. It is very easy to learn and provides the flexibility to separate layout and content - -For more information about PHPWCMS, see [http://www.phpwcms.com/](http://www.phpwcms.com/). - -In this section, we go through the steps required to install PHPWCMS to work with the FastCGI extension on IIS 7.0 and above. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). - -The following steps assume that you have completed the setup and configuration of FastCGI extension and PHP libraries as described here [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack PHPWCMS - -First, download the latest stable release of PHPWCMS application. For this article, we use the phpwcms\_1.3.3. Full Package downloaded from the mirror [http://sourceforge.net/projects/phpwcms/](http://sourceforge.net/projects/phpwcms/). - -Once you download the package, uncompress it and copy files and folders to `C:\Inetpub\wwwroot\phpwcms`. -For installation help, see [http://www.phpwcms.org/](http://www.phpwcms.org/). - -## Set Up the Database - -Before starting the installation procedure for PHPWCMS, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'phpwcms' -- Database User: 'phpwcmsuser' -- Account Password: 'phpwcms' - -## Set Up and Configure PHPWMCS - -1. Provide "All" permissions to the IIS user for the files and folders located in the PHPWCMS directory. - - - upload - - filearchive - - filearchive/can\_be\_deleted - - template - - content - - content/ads - - content/images - - content/gt - - content/form - - content/rss - - content/tmp - - content/pages -2. Provide "Read&Write" permissions to the IIS user for the files and folders located in the PHPWCMS directory. - - - setup/setup.conf.inc.php - - template/inc\_css/frontend.css - - config/phpwcms/conf.indexpage.inc.php - - template/inc\_default/startup.php - - ![Screenshot of the Permissions for upload dialog with all Permisions allowed for the I I S underscore I U S R S Group.](phpwcms-on-iis/_static/image1.jpg) -3. Call the install script in your browser via the following path: `http://localhost/phpwcms/setup/index.php`. - - ![Screenshot of the welcome message with the General Public License terms.](phpwcms-on-iis/_static/image3.jpg) - - Installation starts with the welcome message. -4. Click "I Agree the GPL, Continue…" to continue to the installation after reading the license. - - ![Screenshot of the available server configurations after agreeing to the General Public License.](phpwcms-on-iis/_static/image5.jpg) - - The system reports the available server configuration. - - - If the register\_globals is set to on, then set it to off by editing the PHP.ini file located in the PHP folder. - - Set safe\_mode to off in the PHP.ini file to avoid security risks. -5. After the configuration confirmation, click "Start setup PHPWCMS" to start the setup. - - ![Screenshot of configuring the My S Q L database and collation settings after clicking Start Setup P H P W C M S.](phpwcms-on-iis/_static/image7.jpg) -6. Enter the database details created for the PHPWCMS application above and click "Continue". -7. Confirm the Char set options required. We select default options for our application. - - ![Screenshot of selecting the default database schema.](phpwcms-on-iis/_static/image9.jpg) -8. Confirm the table creation by selecting the check box to create PHPWCMS tables and click Continue. - - ![Screenshot of creating the specified P H P W C M S tables.](phpwcms-on-iis/_static/image11.jpg) -9. Take the table creation backup for future use and click Continue. - - ![Screenshot after taking the table creation backup.](phpwcms-on-iis/_static/image13.jpg) -10. After getting the table creation confirmation, click Continue. Enter the admin user details and click Continue. - - ![Screenshot of the admin user details in the Path settings.](phpwcms-on-iis/_static/image15.jpg) - - ![Screenshot of the P H P W C M S path settings before clicking send path values.](phpwcms-on-iis/_static/image17.jpg) -11. Confirm the folder settings by clicking "send path values". We need not change any information here, as all folders already exist in the application. - - ![Screenshot of the confirmation page with any problems that may exist before starting P H P W C M S.](phpwcms-on-iis/_static/image19.jpg) -12. Download conf.inc.php from the Download the created config file\* link and save it to your hard disk. Then move that file to the config\phpwcms\ folder. -13. The system confirms the folder permissions and confirms the installation completion. Delete the setup folder after this installation. -14. Press LOGIN in the upper right corner and login with your username and password created. - - ![Screenshot of the login page with the admin login credentials.](phpwcms-on-iis/_static/image21.jpg) - - This takes you to the home screen. - - ![Screenshot of the home screen after logging in.](phpwcms-on-iis/_static/image23.jpg) - -## Getting More Information - -To discuss the FastCGI support in IIS, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx) -- [IIS 7.0 FastCGI forums](https://forums.iis.net/1104.aspx) - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image1.jpg deleted file mode 100644 index fb134cff8..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image10.jpg deleted file mode 100644 index b4f5f1753..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image11.jpg deleted file mode 100644 index 4e19ba650..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image12.jpg deleted file mode 100644 index 4e19ba650..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image13.jpg deleted file mode 100644 index b4f5f1753..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image14.jpg deleted file mode 100644 index b4f5f1753..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image15.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image15.jpg deleted file mode 100644 index 127de2852..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image16.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image16.jpg deleted file mode 100644 index 127de2852..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image17.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image17.jpg deleted file mode 100644 index 26f0b753d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image17.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image18.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image18.jpg deleted file mode 100644 index 26f0b753d..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image18.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image19.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image19.jpg deleted file mode 100644 index 6c140d040..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image19.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image2.jpg deleted file mode 100644 index fb134cff8..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image20.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image20.jpg deleted file mode 100644 index 6c140d040..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image20.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image21.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image21.jpg deleted file mode 100644 index 2b1aef294..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image21.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image22.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image22.jpg deleted file mode 100644 index 2b1aef294..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image22.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image23.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image23.jpg deleted file mode 100644 index 4e9f52939..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image23.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image24.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image24.jpg deleted file mode 100644 index 4e9f52939..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image24.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image3.jpg deleted file mode 100644 index 501c63156..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image4.jpg deleted file mode 100644 index 501c63156..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image5.jpg deleted file mode 100644 index 13ee177e1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image6.jpg deleted file mode 100644 index 13ee177e1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image7.jpg deleted file mode 100644 index e5a6dfd4e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image8.jpg deleted file mode 100644 index e5a6dfd4e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image9.jpg deleted file mode 100644 index b4f5f1753..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/phpwcms-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis.md deleted file mode 100644 index 04cd19ab2..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: "pMachinePro on IIS" -author: rick-anderson -description: "The application pMachine Pro is a popular open source blogging solution. It includes all the features of traditional blog tools, and supports multiple langua..." -ms.date: 01/18/2008 -ms.assetid: 8ffe0ee7-c74c-4a6b-83aa-3ed6009e03fc -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis -msc.type: authoredcontent ---- -# pMachinePro on IIS - -by Eric Woersching - -## Introduction - -The application pMachine Pro is a popular open source blogging solution. It includes all the features of traditional blog tools, and supports multiple languages. ExpressionEngine has replaced it. The existing pMachine Pro is still available for free download, but it is no longer supported. - -For more information about pMachine Pro, see [http://www.ellislab.com/](http://www.ellislab.com/). - -The following sections describe how to install and configure pMachinePro for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Notes on PHP Setup - -pMachine Pro does not require many modifications beyond the default configuration provided by PHP. From the base configuration file provided by PHP, you only need to modify the following lines in your php.ini configuration file to get pMachine Pro working: - -- Define `extension\_dir` as `c:\php\ext` (i.e., the location of your PHP extensions directory) -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support - -## Download and Unpack pMachinePro - -First, download the latest stable release of pMachine Pro. For this article, we use pMachine Pro 2.4.1 downloaded from here **<ISSUE: Missing link>.** Once you download the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\pMachine`. - -## Set Up the Database - -Before starting the installation procedure for pMachinePro, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'pmachine' -- Database User: 'pmachine' -- Account Password: 'pmachine' - -## Set Up and Configure pMachinePro - -To ensure that the Installation process can complete without errors, follow the instructions to set the file and directory permissions described in the installation document contained in the package. For this walkthrough, we provide modify permissions to the local machine "Internet Guest Account" for the following directories and file: - -- /images/uploads -- /images/captchas -- /pm/config.php - -Change the database connection setting in the config.php file to point to your installed MySQL instance. - -Browse to the `http://localhost/pMachine/pm/install.php` page for detailed setup instructions. Click the Install link on the top of the page to redirect to the Install Wizard. - -[![Screenshot of the local host slash p Machine slash p m slash install dot p h p page.The Version two dot four Installation Script is shown.](pmachinepro-on-iis/_static/image2.jpg)](pmachinepro-on-iis/_static/image1.jpg) - -The data population SQL scripts in the install.php are out of sync with the actual table schema created in MySQL 5.0.45. You must update the insert scripts contained in install.php, and in template.data.php. -This results in creating all the tables and you see the registration form to register the admin user. - -## Test pMachinePro - -To test that pMachine has been installed successfully, create a blog postings and view it as a site visitor would. Follow these steps: - -1. Navigate to `http://localhost/pMachine/pm/index.php`. -2. Enter the administrator username and password created in the last installation step. - [![Screenshot of the local host slash p Machine slash p m slash install dot p h p page. The administrator page is shown.](pmachinepro-on-iis/_static/image4.jpg)](pmachinepro-on-iis/_static/image3.jpg) -3. Once logged in, enter a title for your post and some content and click Preview. This displays what the post looks like. - - [![Screenshot of Machine Control Panel page. A box for the title and content for a post is shown.](pmachinepro-on-iis/_static/image6.jpg)](pmachinepro-on-iis/_static/image5.jpg) - - [![Screenshot of the Machine Control Panel page. The text Test Blog Entry is shown. The submit and continue editing buttons are found below the text.](pmachinepro-on-iis/_static/image8.jpg)](pmachinepro-on-iis/_static/image7.jpg) -4. Click Submit to publish this content to the Blog selected (Blog A in the case above). -5. Navigate to `http://localhost/pmachine/weblog.php` to browse to the actual blog site. See the actual blog as seen by site visitors. - - [![Screenshot of the local host slash p machine slash web blog dot p h p page. The date Sunday September sixteenth two thousand seven is shown above the text Test Blog Entry.](pmachinepro-on-iis/_static/image10.jpg)](pmachinepro-on-iis/_static/image9.jpg) - -## Getting More Information - -To discuss the FastCGI support in IIS, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). -- [IIS 7.0 FastCGI forums](https://forums.iis.net/1104.aspx) - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image1.jpg deleted file mode 100644 index 49bc9c0ed..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image10.jpg deleted file mode 100644 index de264d878..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image2.jpg deleted file mode 100644 index 49bc9c0ed..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image3.jpg deleted file mode 100644 index 8c3558b3f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image4.jpg deleted file mode 100644 index 8c3558b3f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image5.jpg deleted file mode 100644 index 64b3d7d74..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image6.jpg deleted file mode 100644 index 64b3d7d74..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image7.jpg deleted file mode 100644 index 6efd9a965..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image8.jpg deleted file mode 100644 index 6efd9a965..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image9.jpg deleted file mode 100644 index de264d878..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/pmachinepro-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality.md deleted file mode 100644 index fd77312f6..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: "Provide URL Rewriting Functionality" -author: rick-anderson -description: "The Microsoft ® URL Rewrite Module for Internet Information Services 7 (IIS 7) and above provides flexible rules-based rewrite engine that can be used to per..." -ms.date: 11/15/2009 -ms.assetid: 06fa0273-c583-4020-8743-1afadce4e625 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality -msc.type: authoredcontent ---- -# Provide URL Rewriting Functionality - -by Tali Smith - -## Introduction - -The Microsoft® URL Rewrite Module for Internet Information Services 7 (IIS 7) and above provides flexible rules-based rewrite engine that can be used to perform broad spectrum of URL manipulation tasks, including, but not limited to: - -- Enabling user-friendly and search engine-friendly URLs with dynamic Web applications. -- Rewriting URLs based on HTTP headers and server variables. -- Handling Web site content. -- Controlling access to Web site content based on URL segments or request metadata. - -## Features of the URL Rewrite Module - -The Microsoft URL Rewrite Module includes these key features: - -- **Rules-based URL rewriting engine**. Rewrite rules are used to express the logic of what to compare/match the request URL with, and what to do if comparison was successful. Web server and site administrators can use rewrite rule sets to define URL rewriting logic. -- **Regular expression pattern matching**. Rewrite rules can use ECMA-262 compatible, regular expression syntax for pattern matching. -- **Wildcard pattern matching.** Rewrite rules can use wildcard syntax for pattern matching. -- **Global and distributed rewrite rules**. Global rules are used to define server-wide URL rewriting logic and are defined within the ApplicationHost.config file. They cannot be overridden or disabled on any lower configuration levels. Distributed rules are used to define URL rewriting logic specific to a particular configuration scope. Distributed rules can be defined on any configuration level by using Web.config files. -- **Access to server variables and http headers**. Server variables and HTTP headers provide additional information about current HTTP requests. This information can be used to make rewriting decisions or to compose the output URL. -- **Various rule actions**. Instead of rewriting a URL, a rule may perform other actions, such as issue an HTTP redirect, abort the request, or send a custom status code to HTTP client. -- **Support for IIS kernel mode and user mode output caching.** IIS output caching provides significant performance improvements for Web applications. The URL Rewrite Module is fully compatible with both types of output caching. This means that it is possible to safely cache responses for rewritten URLs, and thus boost the performance of Web applications that rely on URL rewriting. -- **String manipulation functions.** Built-in string manipulation functions can be used to convert URLs to lowercase and to perform URL encoding and decoding. -- **Rewrite maps**. A rewrite map is an arbitrary collection of name-value pairs that can be used within the rewrite rules to generate the substitution URL during rewriting. Rewrite maps are particularly useful when you have a large set of rewrite rules, all of which use static strings (for example, if there is no pattern matching used). In those cases, instead of defining a large set of simple rewrite rules, you can put all the mappings between input URL and substitution URL as keys and values into the rewrite map, and then have one rewrite rule that references this rewrite map to look up a substitution URL based on the input URL. -- **Failed Request Tracing support**. IIS Failed Request Tracing can be used to troubleshoot errors related to URL rewriting. -- **Rule templates**. A rule template is an extension for the URL Rewrite Module user interface that simplifies the creation of rewrite rules for a particular task. The module includes three built-in rule templates. It also lets you plug in any number of custom templates. -- **UI for testing of regular expression and wildcard patterns**. A GUI tool for testing rule patterns is included in the module's user interface. The tool can be used to quickly check how the regular expression or wildcard pattern works. It can also be used for troubleshooting and debugging of problems related to pattern matching. -- **UI for managing rewrite rules and rewrite maps**. Rewrite rules and rewrite maps can be added, removed and edited by using the URL Rewrite Module feature in IIS Manager. -- **GUI tool for importing of mod\_rewrite rules**. The URL Rewrite Module includes a GUI tool for converting rewrite rules from mod\_rewrite format into an IIS format. - -## URL Rewrite Module Resources - -The following articles cover the functionality of the URL Rewrite Module, and explain how to use it to accomplish common URL rewriting scenarios. - -**Learning the basics** - -- [Creating rewrite rules](../../extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module.md "Creating rewrite rules") -- [Using Failed Request Tracing to trace rewrite rules](../../extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules.md "Using FRT to trace rewrite rules") -- [Using global and distributed rules](../../extensions/url-rewrite-module/using-global-and-distributed-rewrite-rules.md "Using global and distributed rewrite rules") -- [Using rewrite maps](../../extensions/url-rewrite-module/using-rewrite-maps-in-url-rewrite-module.md "Using rewrite maps") -- [Importing rewrite rules](../../extensions/url-rewrite-module/importing-apache-modrewrite-rules.md "Importing rewrite rules") -- [Enabling "pretty permalinks" in WordPress](../../extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress.md "Enabling Pretty Permalinks") -- [Rule templates](../../extensions/url-rewrite-module/rule-templates-overview.md) - - - [User-friendly URL](../../extensions/url-rewrite-module/user-friendly-url-rule-template.md) - - [Rule with Rewrite Map](../../extensions/url-rewrite-module/rule-with-rewrite-map-rule-template.md) - - [Request blocking](../../extensions/url-rewrite-module/request-blocking-rule-template.md) -- [Testing rule and condition patterns](../../extensions/url-rewrite-module/testing-rewrite-rule-patterns.md) - -**References and guidance** - -- [URL Rewrite Module configuration reference](../../extensions/url-rewrite-module/url-rewrite-module-configuration-reference.md "Configuration reference") -- [URL Rewriting and Microsoft® ASP.NET routing](../../extensions/url-rewrite-module/iis-url-rewriting-and-aspnet-routing.md) -- [URL rewriting and request filtering](../../extensions/url-rewrite-module/iis-request-filtering-and-url-rewriting.md) -- [URL rewriting for ASP.NET Web forms](../../extensions/url-rewrite-module/url-rewriting-for-aspnet-web-forms.md) -- [Developing rule templates for the URL Rewrite Module](../../extensions/url-rewrite-module/developing-rule-template-for-url-rewrite-module.md) - -**Video walkthrough** - -- [Using the URL Rewrite Module - video walkthrough](../../extensions/url-rewrite-module/url-rewrite-module-video-walkthrough.md) - -### Known Issues and Changes - -There are a few known issues and changes to consider: - -- The mod\_rewrite rules that use **REQUEST\_URI** server variables may not work correctly when imported by using the URL rewrite "**Import Rules…**" feature. To fix the imported rules, use any text editor to open the web.config file that contains those rules. Locate the `` section, and then within that section replace all instances of string "**{SCRIPT\_NAME}**" with the string "**{URL}**". -- Digest authentication cannot be used with the URL Rewrite Module. -- ASP.NET Forms Authentication uses rewritten URLs for redirection. For example, if the requested URL is "**/article.htm**" and the URL Rewrite Module rewrites the URL to "**/article.aspx**", which is protected by Forms Authentication, then ASP.NET redirects to "**/login.aspx?ReturnUrl=%2Farticle.aspx**". -- The auto-detect mode in ASP.NET Forms Authentication uses rewritten URLs for redirection. For example, if the requested URL is "**/article.htm**" and the URL Rewrite Module rewrites the URL to "**/article.aspx**", which is protected by Forms Authentication, then ASP.NET redirects to "**/article.aspx?AspxAutoDetectCookieSupport=1**". -- UseUri mode in ASP.NET Forms Authentication uses rewritten URLs for redirection. For example, if the requested URL is "**/article.htm**" and URL rewrite module rewrites the URL to "**/article.aspx**", which is protected by Forms Authentication, then ASP.NET redirects to "**/(S(vy2ebt45imfkmjjwboow3l55))/article.aspx**". -- ASP.NET rewrites back to the original URL when using URI-based authentication or a cookieless session state. For example, when a request is made to "**/(S(vy2ebt45imfkmjjwboow3l55))/article.htm**" and the URL Rewrite Module rewrites "**/article.htm**" to "**/article.aspx**", then ASP.NET rewrites the URL back to "**/article.htm**", which may result in a "404 - File Not Found" error. -- The IIS DefaultDocument module may redirect to a rewritten URL when the URL Rewrite Module rewrites to a folder. For example, if a substitution URL in a rewrite rule is "**/folder1/folder2**", and these folders exist on file system and have default document configured, then DefaultDocument module redirects a Web client to "**/folder1/folder2/**", thus exposing the rewritten URL. To prevent this from happening, use "/" at the end of the substitution URL when rewriting to a folder (for example, "**/folder1/folder2/**"). - -## Example: Enable "Pretty Permalinks" - -Typically, WordPress users must use "almost pretty" URLs (for example, `http://contoso.com/index.php/yyyy/mm/dd/post-name/`). With the URL Rewrite module, you can create "Pretty Permalinks" (for example, `http://example.com/year/month/day/post-name/`) for WordPress blogs hosted on IIS. - -The steps that follow assume that WordPress is installed in a Web site root directory. If WordPress is installed in a subdirectory, then the rewrite rules must be included in the Web.config file located within the same subdirectory as the WordPress files. - -1. Install **URL Rewrite Go Live** release. -2. Log on to **WordPress** as an administrator. -3. Click the **Settings** button. -4. Click the **Permalinks** tab for the **Customize Permalink Structure** page. - - [![Screenshot shows Permalink Settings page with Default selected.](provide-url-rewriting-functionality/_static/image2.jpg)](provide-url-rewriting-functionality/_static/image1.jpg) - - *Figure 1: Customize permalink structure page* -5. Select **Custom Structure**, and then type - **/%year%/%monthnum%/%day%/%postname%/** in the **Custom Structure** text box. -6. Click **Save Changes**. You will see that all the blog post links have URLs that follow the format you have specified; however, if you click any link, the Web server returns a 404 - File Not Found error, because WordPress relies on a URL rewriting capability within a server to rewrite requests that have "pretty permalinks" to an Index.php file. - -## Create Rewrite Rule - -1. Open the **Web.config** file (located in the same directory as the WordPress files). If you do not have a Web.config file in the WordPress directory, create it. -2. Copy and paste the following XML section into the system.webServer element: - - [!code-xml[Main](provide-url-rewriting-functionality/samples/sample1.xml)] - -This rule matches any requested URL; if the URL does not correspond to a file or a folder on a file system, then the rule rewrites the URL to Index.php and determines which content to serve based on the REQUEST\_URI server variable that contains the original URL before it was modified by the rule. - -## Test the Rewrite Rule - -After the rewrite rule is saved to the Web.config file, open a Web browser, and click any one of the permalinks in WordPress blog. You should see the correct content returned by the Web server for every permalink. - -[![Screenshot shows a test page in a block with the U R L highlighted.](provide-url-rewriting-functionality/_static/image4.jpg)](provide-url-rewriting-functionality/_static/image3.jpg) - -*Figure 2: Blog welcome page* - -*This article updates the*[*Enabling Pretty Permalinks in WordPress*](../../extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress.md)*and*[*IIS 7 URL Rewrite Module support in WordPress 2.8*](https://blogs.iis.net/ruslany/archive/2009/05/16/iis-7-url-rewrite-module-support-in-wordpress-2-8.aspx)*articles written by Ruslan Yakushev.* - -## Links for Further Information - -- [URL Rewrite Module](https://www.iis.net/downloads?tabid=34&g=6&i=1691). -- [Creating rewrite rules for the URL Rewrite Module](../../extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module.md). -- [Videocast about URL rewriting functionality](https://www.iis.net/downloads/microsoft/url-rewrite). -- [URL Rewrite Module 1.1 configuration](../../extensions/url-rewrite-module/url-rewrite-module-configuration-reference.md). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image1.jpg deleted file mode 100644 index 01608fd55..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image2.jpg deleted file mode 100644 index 01608fd55..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image3.jpg deleted file mode 100644 index 887d82e03..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image4.jpg deleted file mode 100644 index 887d82e03..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/samples/sample1.xml deleted file mode 100644 index 74d78fe4f..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/provide-url-rewriting-functionality/samples/sample1.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis.md deleted file mode 100644 index 15a01f3f0..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: "Siteframe on IIS" -author: rick-anderson -description: "Siteframe™ is a lightweight content-management system designed for the rapid deployment of community-based websites. With Siteframe, a group of users can sha..." -ms.date: 01/17/2008 -ms.assetid: cbd31eed-9257-4768-99a5-dc73513ddaed -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis -msc.type: authoredcontent ---- -# Siteframe on IIS - -by Eric Woersching - -## Introduction - -Siteframe™ is a lightweight content-management system designed for the rapid deployment of community-based websites. With Siteframe, a group of users can share stories and photographs, create blogs, send email to one another, and participate in group activities. Siteframe enables this by providing Web-based content management so that anyone can create content without learning HTML. - -For more information about Siteframe, see [http://siteframe.org/](http://siteframe.org/). - -In this section, we go through the steps that required to install Siteframe to work with the FastCGI extension on IIS 6.0 and IIS 7.0 and above. To find out more about FastCGI support in IIS, see [https://www.iis.net/fastcgi](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). - -The following steps assume that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -## Download and Unpack Siteframe - -First, download the latest stable release of the Siteframe application. For this article, we use siteframe-5.0.5-783. - -Once you download the package, uncompress it and copy all the files and folders to `C:\Inetpub\wwwroot\siteframe`. - -## Set Up the Database - -Before starting the installation procedure for Siteframe, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'siteframe' -- Database User: 'siteframeuser' -- Account Password: 'Siteframe' - -## PHP Configuration - -SiteFrame requires the following PHP extensions: - -- The "ext/mysqli" extension -- The "ext/gd" extension - to use images on your site -- The "ext/curl" extension - for outbound Trackback pings -- The PEAR XML-RPC module - to use the "ping" plugin -- The PHP5-exif module - if available, to retrieve EXIF information from photographs -- Allow\_url\_fopen - this setting must be set to on to permit access to RSS feeds - -Enable all these extensions by un-commenting the lines below in the PHP.ini file, located in the PHP installation folder. - -extension\_dir = "./ext -extension=php\_mysqli.dll -extension=php\_gd2.dll -extension=php\_curl.dll -extension=php\_xmlrpc.dll -extension=php\_exif.dll -allow\_url\_fopen=on - -## Set Up and Configure Siteframe - -1. Open the Siteframe application folder and copy the siteframe.ini-dist to siteframe.ini; edit it to suit your settings. For this installation, the following parameters below were edited. - - - site\_url = ```http://localhost/siteframe``` - - ite\_path = C:\Inetpub\wwwroot\siteframe - - db\_type = mysql - - db\_host = localhost - - db\_user = siteframeuser - - db\_password = siteframe - - db\_database = siteframe -2. To ensure that the installation process can complete without errors, follow the instructions to set the file and directory permissions. For this walkthrough, we provide modify permissions to the local machine "IUSER" account for the following directories and files: - - - /siteframe - - ![Screenshot of configuring Permissions for I I S underscore I U S R S Group in the Permissions for files dialog.](siteframe-on-iis/_static/image1.jpg) -3. Copy \_htaccess file to .htaccess. Windows may not allow naming the file with only the extension (.htaccess). Open the file in the editor (notepad) and save as ".htaccess". -4. Siteframe requires the Smarty templates. Download and install Smarty templates from - [https://www.smarty.net/](https://www.smarty.net/) and copy to the local folder. - - > [!NOTE] - > Smarty templates are available only in the .tar format and these .tar files must be extracted using gzip or other tools. We use the "izarc" tool downloaded from [https://www.izarc.org/](https://www.izarc.org/). -5. After installing the extract tool, right click the filename and extract .tar to the folder `c:\smarty`. To avoid the security issues, keep this folder outside of the web root directory. There could be one other Smarty-2.6.18.tar file located inside the extracted files; if so, extract that file into the same folder as well. -6. Edit PHP configuration file php.ini to add the installed Smarty include path. - Include\_path = ".;c:\smarty\libs". Restart IIS to affect the changes. -7. Set up these two folders inside your www root: - - - (wwwroot)/smarty/templates (This is where your templates will go.) - - (wwwroot)/smarty/configs -8. Set up these two folders OUTSIDE of your www root: - - - c:/smarty/templates\_c - - c:/smarty/cache -9. Set up security settings for the Web server to write to these four folders. For more information on installing smarty templates, see [http://news.php.net/php.smarty.dev/2703](http://news.php.net/php.smarty.dev/2703). - -## Run the Setup - -1. After installing the Smarty templates, creating the siteframe database and providing the configuration, run the installation script by calling `http://localhost/setup.php`. - - ![Screenshot of entering Admin user credentials by accessing the installation script through the web browser.](siteframe-on-iis/_static/image3.jpg) -2. Provide the details to create the admin user. Click "Continue with setup" to: go to register admin user, confirm the database setup and create the required tables. Creating the tables is the end of the Siteframe installation. - - ![Screenshot of the confirmation page for admin user registration, database setup and creation of required tables.](siteframe-on-iis/_static/image5.jpg) - -## Test the SiteFrame Application - -To test that SiteFrame has been installed successfully, create a blog postings and view it as a site visitor would. Follow these steps: - -1. Navigate to `http://localhost/siteframe/index.php`. -2. Enter the administrator username and password created in the last installation step. - - ![Screenshot of the Site Frame Test page after logging in as an administrator.](siteframe-on-iis/_static/image7.jpg) -3. Once logged in, click New Page to create an entry. - - ![Screenshot of the page to create a new content entry for the website.](siteframe-on-iis/_static/image9.jpg) -4. Click Save to publish the content. - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, please use the FastCGI forums: - -- [IIS.NET / IIS 6 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image1.jpg deleted file mode 100644 index b09eacd7e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image10.jpg deleted file mode 100644 index 5143ec530..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image2.jpg deleted file mode 100644 index b09eacd7e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image3.jpg deleted file mode 100644 index c477a8d2b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image4.jpg deleted file mode 100644 index c477a8d2b..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image5.jpg deleted file mode 100644 index 125617605..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image6.jpg deleted file mode 100644 index 125617605..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image7.jpg deleted file mode 100644 index a8684ddae..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image8.jpg deleted file mode 100644 index a8684ddae..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image9.jpg deleted file mode 100644 index 5143ec530..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/siteframe-on-iis/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig.md deleted file mode 100644 index 9ae45378b..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: "Translate .htaccess Content to IIS web.config" -author: rick-anderson -description: "Many PHP applications are distributed with configuration files for the Apache Web server. These configuration files (usually called .htaccess files) contain..." -ms.date: 02/23/2009 -ms.assetid: ce4e6cf1-dec5-4a42-9ca6-be447dc7fa0d -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig -msc.type: authoredcontent ---- -# Translate .htaccess Content to IIS web.config - -by Steve Jacobson - -## Introduction - -Many PHP applications are distributed with configuration files for the Apache Web server. These configuration files (usually called .htaccess files) contain a number of settings that can be used for integrating the application with the capabilities of the Web server. - -IIS 7 and above uses a file called Web.config to hold settings for integration with applications. The Web.config file contains information that control module loading, security configuration, session state configuration, and application language and compilation settings. Web.config files can also contain application-specific items such as database connection strings. - -This article describes the most common uses of the .htaccess file by PHP applications, and shows how to use the Web.config file for these same functions in IIS. - -## Sample Application Configuration Files - -The following examples are two configuration files for a sample application: an .htaccess file and a Web.config file. - -### Sample Application .htaccess File - -[!code-console[Main](translate-htaccess-content-to-iis-webconfig/samples/sample1.cmd)] - -### Sample Application Web.config File - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample2.xml)] - -## Request Filtering - -This application uses the *FilesMatch* directive in the .htacess file to limit browser access to files that are components of the application. - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample3.xml)] - -IIS uses the Request Filtering module to limit browser access to files that are components of the application. For the sample application in a Web.config file, the section could look like: - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample4.xml)] - -Note that you can leave this section commented out for installation, because the installation scripts are blocked by this filter. - -An alternative to using the request filtering is to use the URL Rewriter module to return a 403 error for any of the matching file types. The advantage of the URL Rewriter module is that it uses a regular expression for the match. - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample5.xml)] - -## Default Document - -In the .htaccess file for the sample application, the *DirectoryIndex* directive tells the Web server which file to load if no filename is included with the URL. - -[!code-powershell[Main](translate-htaccess-content-to-iis-webconfig/samples/sample6.ps1)] - -For IIS, the default document should be set up as high in the Web site hierarchy as the Module Handler. For example, with PHP, the Module Handler is usually set at the Web server level. The default document should be set at that level also, rather than locally within a Web site's context. The following code within your Web.config file can ensure this: - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample7.xml)] - -## URL Rewriting - -IIS includes the URL Rewrite module. You can use this extension to provide rules for IIS to rewrite incoming URL requests. The most common use of URL Rewriting is to provide shorter, easy-to-remember URLs. - -Many PHP applications currently ship with rewrite rules as part of their .htaccess file. These rules tell Apache's mod\_rewrite how and when to rewrite incoming requests. The IIS URL Rewrite module can read these rules and translate them into URL Rewrite rules. - -For more information about importing Apache mod\_rewrite rules, see: [Importing Apache mod\_rewrite Rules](../../extensions/url-rewrite-module/importing-apache-modrewrite-rules.md). - -For the sample application, the relevant mod\_rewrite rules in the .htaccess file are: - -[!code-console[Main](translate-htaccess-content-to-iis-webconfig/samples/sample8.cmd)] - -The IIS URL Rewriter module can read these rules and translate them. The translated URL Rewriter rules are: - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample9.xml)] - -## Error Page Redirects / Handling - -Some applications handle standard errors within the scope of the application. The *ErrorDocument* directive in the .htaccess file of the sample application tells the Web server to load the home page for any 404 or "File Not Found" errors. - -[!code-powershell[Main](translate-htaccess-content-to-iis-webconfig/samples/sample10.ps1)] - -IIS uses the *httpErrors* directive for this functionality. However, because the capability to set this at the application level is turned off by default for IIS, this section should be commented out. - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample11.xml)] - -## Directory Browsing - -Another application security (or integrity) measure often implemented is disabling directory browsing from the clients. Many Web server configurations will let users see a listing of files in a directory that does not contain one of the default document files. In the .htaccess file of the sample application, this is disabled using the *Options* directive: - -[!code-powershell[Main](translate-htaccess-content-to-iis-webconfig/samples/sample12.ps1)] - -IIS limits this access in the Web.config file using the *directoryBrowse* directive: - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample13.xml)] - -## Cache Aging - -Caching directives are used to ensure that static content is cached for a period of time, and dynamic content is not cached at all. In the .htaccess file of the sample application, the *ExpiresBy* directives provided by mod\_expires module are used. - -[!code-powershell[Main](translate-htaccess-content-to-iis-webconfig/samples/sample14.ps1)] - -In the Web.config file, IIS uses the Output Caching module and the caching directive to control caching. For the sample application, you can enable caching for .html files for a maximum of 14 days. For .php files, ensure that no caching is performed at all with the code: - -[!code-xml[Main](translate-htaccess-content-to-iis-webconfig/samples/sample15.xml)] - - - -## Links for Further Information - -- [IIS URL Rewriting and Microsoft® ASP.NET routing](../../extensions/url-rewrite-module/iis-url-rewriting-and-aspnet-routing.md). -- [IIS forum](https://forums.iis.net/). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample1.cmd deleted file mode 100644 index b7c03c505..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample1.cmd +++ /dev/null @@ -1,109 +0,0 @@ -# -# Apache/PHP/Application settings: -# - -# Protect files and directories from prying eyes. - - Order allow,deny - - -# Don't show directory listings for URLs which map to a directory. -Options -Indexes - -# Follow symbolic links in this directory. -Options +FollowSymLinks - -# Make Application handle any 404 errors. -ErrorDocument 404 /index.php - -# Force simple error message for requests for non-existent favicon.ico. - - ErrorDocument 404 "The requested file favicon.ico was not found. - - -# Set the default handler. -DirectoryIndex index.php - -# Override PHP settings. More in sites/default/settings.php -# but the following cannot be changed at runtime. - -# PHP 4, Apache 1. - - php_value magic_quotes_gpc 0 - php_value register_globals 0 - php_value session.auto_start 0 - php_value mbstring.http_input pass - php_value mbstring.http_output pass - php_value mbstring.encoding_translation 0 - - -# PHP 4, Apache 2. - - php_value magic_quotes_gpc 0 - php_value register_globals 0 - php_value session.auto_start 0 - php_value mbstring.http_input pass - php_value mbstring.http_output pass - php_value mbstring.encoding_translation 0 - - -# PHP 5, Apache 1 and 2. - - php_value magic_quotes_gpc 0 - php_value register_globals 0 - php_value session.auto_start 0 - php_value mbstring.http_input pass - php_value mbstring.http_output pass - php_value mbstring.encoding_translation 0 - - -# Requires mod_expires to be enabled. - - # Enable expirations. - ExpiresActive On - - # Cache all files for 2 weeks after access (A). - ExpiresDefault A1209600 - - # Do not cache dynamically generated pages. - ExpiresByType text/html A1 - - -# Various rewrite rules. - - RewriteEngine on - - # If your site can be accessed both with and without the 'www.' prefix, you - # can use one of the following settings to redirect users to your preferred - # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option: - # - # To redirect all users to access the site WITH the 'www.' prefix, - # (http://example.com/... will be redirected to http://www.example.com/...) - # adapt and uncomment the following: - # RewriteCond %{HTTP_HOST} ^example\.com$ [NC] - # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] - # - # To redirect all users to access the site WITHOUT the 'www.' prefix, - # (http://www.example.com/... will be redirected to http://example.com/...) - # uncomment and adapt the following: - # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] - # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301] - - # Modify the RewriteBase if you are using Application in a subdirectory or in a - # VirtualDocumentRoot and the rewrite rules are not working properly. - # For example if your site is at http://example.com/application uncomment and - # modify the following line: - # RewriteBase /application - # - # If your site is running in a VirtualDocumentRoot at http://example.com/, - # uncomment the following line: - # RewriteBase / - - # Rewrite URLs of the form 'x' to the form 'index.php?q=x'. - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_URI} !=/favicon.ico - RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] - - -# $Id: .htaccess,v 1.90.2.1 2008/07/08 09:33:14 goba Exp $ \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample10.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample10.ps1 deleted file mode 100644 index 077507d9c..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample10.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -# Make Application handle any 404 errors. -ErrorDocument 404 /index.php \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample11.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample11.xml deleted file mode 100644 index 1e5f8740f..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample11.xml +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample12.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample12.ps1 deleted file mode 100644 index c815d5f53..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample12.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -# Don't show directory listings for URLs which map to a directory. -Options -Indexes \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample13.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample13.xml deleted file mode 100644 index 277cffee5..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample13.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample14.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample14.ps1 deleted file mode 100644 index f762c5074..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample14.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -# Requires mod_expires to be enabled. - - # Enable expirations. - ExpiresActive On - - # Cache all files for 2 weeks after access (A). - ExpiresDefault A1209600 - - # Do not cache dynamically generated pages. - ExpiresByType text/html A1 - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample15.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample15.xml deleted file mode 100644 index 7472b6ca8..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample15.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample2.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample2.xml deleted file mode 100644 index c86a7e8a6..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample2.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample3.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample3.xml deleted file mode 100644 index 09811d709..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample3.xml +++ /dev/null @@ -1,3 +0,0 @@ - - Order allow,deny - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample4.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample4.xml deleted file mode 100644 index 7f1817e24..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample4.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample5.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample5.xml deleted file mode 100644 index 677d17ee5..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample5.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample6.ps1 b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample6.ps1 deleted file mode 100644 index f9724725d..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample6.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -# Set the default handler. -DirectoryIndex index.php \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample7.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample7.xml deleted file mode 100644 index 6c578a12f..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample8.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample8.cmd deleted file mode 100644 index 06339ab78..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample8.cmd +++ /dev/null @@ -1,7 +0,0 @@ -RewriteCond %{HTTP_HOST} ^example\.com$ [NC] - RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] - - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_URI} !=/favicon.ico - RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample9.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample9.xml deleted file mode 100644 index 1b8d1bcea..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig/samples/sample9.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60.md deleted file mode 100644 index 0274affd4..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: "Using FastCGI to Host PHP Applications on IIS 6.0" -author: ruslany -description: "This article explains how to use the Microsoft IIS FastCGI extension to set up and run PHP applications on Windows XP and Windows Server ® 2003 operating sys..." -ms.date: 12/05/2007 -ms.assetid: c9a924d7-5f0e-45f3-a4ad-2ebbc3fc619e -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60 -msc.type: authoredcontent ---- -# Using FastCGI to Host PHP Applications on IIS 6.0 - -by [Ruslan Yakushev](https://github.com/ruslany) - -## Introduction - -The PHP programming language has been an important player in the Web Application space for many years. Even though PHP was not developed by Microsoft, supporting this technology is very important to us and so you can install it on any stand-alone IIS Server, and it's also built-in to our cloud-based [Windows Azure Web Sites (WAWS)](https://www.windowsazure.com/documentation/services/web-sites/) platform. This article explains how to use the Microsoft IIS FastCGI extension to set up and run PHP applications on Windows XP and Windows Server® 2003 operating systems. - -## What is FastCGI? - -FastCGI is a standard protocol that allows the CGI executable files for application frameworks to interface with the Web server. It differs from the standard CGI protocol in that FastCGI reuses CGI processes for multiple requests, which provides a significant performance boost as compared to CGI. Support for IIS FastCGI enables IIS to host normal CGI programs like PHP or Ruby on Rails by using the FastCGI protocol, and to offer high performance and stability for production deployment of such application frameworks. - -Using the IIS FastCGI support includes the following: - -- IIS Web server -- IIS FastCGI extension -- CGI program (such as php-cgi.exe) - -The Web server dispatches HTTP requests to your application to the FastCGI component, which in turn launches the CGI program executable, and forwards the request for processing. Once the request is finished and the response is returned back to the server and sent to the client, the CGI process is reused for a subsequent request. This helps to avoid the high performance penalty of starting a new process for each request, which results in better performance and scalability in a production environment. - -To learn more about the FastCGI protocol, see [http://www.fastcgi.com/devkit/doc/fcgi-spec.html](http://www.fastcgi.com/devkit/doc/fcgi-spec.html). - -## Install the FastCGI Extension for IIS 6.0 and IIS 5.1 - -You can download the FastCGI extension for 32-bit and 64-bit Windows XP and Windows Server 2003 here: - - - -When you run the FastCGI installer, it copies FastCGI-specific files to the `%windir%\system32\inetsrv` folder, and then registers and enables the FastCGI Web server extension. Of the files that the installer copies, note the following: - -- **fcgiext.dll** – This is the actual FastCGI handler that communicates with FastCGI-enabled processes for processing requests. -- **fcgiext.ini** – This is the configuration file that contains the mapping of file extensions to FastCGI processes. It also contains the configuration of FastCGI process pools. -- **fcgiconfig.js** – This configures the FastCGI extension. The script updates the fcgiext.ini file, modifies the IIS metabase and recycles the Web service application pools if necessary. - -## Download and Install PHP - -The FastCGI extension is fully compatible with the current official PHP 4.4.x and PHP 5.x distribution for Windows, available from . Since the FastCGI extension hosts and executes php processes in a single threaded manner, it is recommended that you download and install the non-thread-safe PHP build that is available for Windows. The non-thread-safe PHP build provides a performance boost from a lack of thread safety that is acceptable for a single-concurrency environment like FastCGI. - -## Configure the FastCGI Extension to Work with PHP - -Once PHP is installed on Windows, you have two options to configure FastCGI: use the configuration script that is provided with the installation of the FastCGI extension, or perform all the configuration tasks manually by modifying IIS configuration settings and the fcgiext.ini file. - -### Configure the FastCGI Extension to Work with PHP by Using the Configuration Script - -The configuration script with the name fcgconfig.js is provided with the installation of the FastCGI extension. It is located in %*windir*%\system32\inetsrv. - -**To configure the FastCGI extension to work with PHP:** - -1. Open a command prompt. -2. Change the current directory to %*windir*%\system32\inetsrv. -3. Register the PHP CGI program as the one that will be processing .php extensions by running the following configuration script: - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis-60/samples/sample1.cmd)] - - Replace `C:\PHP\php-cgi.exe` with the path to php-cgi.exe if you installed to a directory other than `C:\PHP`. - - > [!NOTE] - > If you do not want to register the PHP extension to be processed by the FastCGI component on your entire server, and only want to register it for a specific Web site, add a "–site:[siteId]" argument, for example: - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis-60/samples/sample2.cmd)] - - > [!NOTE] - > For a complete list of configuration parameters that are supported by the FastCGI extension, see the FastCGI extension documentation. - -### Manually Configure the FastCGI Extension to Work with PHP - -To manually configure the IIS and FastCGI extension, you must create script mappings for the PHP extension in the IIS metabase, and modify the fcgiext.ini file that is located in %*windir*%\system32\inetsrv. - -**To create script mapping:** - -1. Launch inetmgr.exe. -2. Double-click the machine icon for the local computer. -3. Right-click **Web Sites** and click **Properties**. -4. Click the **Home Directory** tab. -5. Click the **Configuration…** button. -6. Click the **Add…** button. -7. In the **Add/Edit Application Extension Mapping** dialog box, click **Browse...**. Navigate to the fcgiext.dll file that is located in %*windir*%\system32\inetsrv. - - > [!NOTE] - > If you need to use FastCGI in 32-bit mode on a 64-bit machine, navigate to %*windir*%\SysWOW64\inetsrv. - -8. In the **Extension** text box, enter **.php**. - -9. Under **Verbs**, in the **Limit to** text box, enter **GET,HEAD,POST**. - -10. Ensure that the **Script engine** and **Verify that file exists** check boxes are selected. - - [![Screenshot of the Add or Edit Application Extension Mapping dialog box. In the Executable box, C colon backslash W I N N T backslash system thirty two backslash i net s r v backslash f c g i e x t dot d l l is written.](using-fastcgi-to-host-php-applications-on-iis-60/_static/image2.png)](using-fastcgi-to-host-php-applications-on-iis-60/_static/image1.png) - -11. Click **OK**. - -**To modify the fcigext.ini file:** - -Once the script mapping has been added, modify the fcgiext.ini file. - -1. Add an extension to **application mapping (php=PHP)** to the **[Types]** section. -2. Add a **[PHP]** section with **ExePath=c:\php\php-cgi.exe** (assuming you installed PHP files to the C:\PHP folder). - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis-60/samples/sample3.cmd)] - -3. After you save the changes to the fcgiext.ini file, restart the application pool that is associated with the Web site that hosts your PHP applications. - -**To configure a default document in IIS:** - -Most PHP applications use a file named index.php as the default application document. Configure IIS to treat this file as the default content page. - -1. Launch inetmgr.exe. -2. Double-click the machine icon for the local computer. -3. Right-click **Web Sites** and click **Properties**. -4. Click the **Documents** tab. -5. Click the **Add…** button. -6. In the **Add Content Page** dialog box, in the **Default content page** text box, enter **index.php**. -7. Click **OK**. - - [![Screenshot of the Web Sites Properties dialog box. Enable default content page is selected. The Add Content Page dialog box is shown. Index dot p h p is written in the Default content page box.](using-fastcgi-to-host-php-applications-on-iis-60/_static/image4.png)](using-fastcgi-to-host-php-applications-on-iis-60/_static/image3.png) - -## Set the FastCGI Configuration for Optimal Functionality, Security, and Performance with PHP - -IIS focuses on full PHP functionality support and performance of PHP applications that are running on the FastCGI extension. In collaboration with Zend Technologies, IIS identified the set of configuration settings for the FastCGI extension and PHP that would provide optimal functionality and performance for PHP applications when running on Windows by using the FastCGI extension. - -To obtain optimal functionality and performance, configure your server as follows: - -1. Modify the **php.ini** file as follows: - - - Set **fastcgi.impersonate = 1**. FastCGI under IIS supports the ability to impersonate the security tokens of the calling client. This allows IIS to define the security context under which the request runs. - - Set **cgi.fix\_pathinfo=1**. cgi.fix\_pathinfo provides \*real\* PATH\_INFO/PATH\_TRANSLATED support for CGI. Previously, PHP behavior was to set PATH\_TRANSLATED to SCRIPT\_FILENAME, and to not define PATH\_INFO. For more information about PATH\_INFO, see the cgi specifications. Setting this value to 1 will cause PHP CGI to fix its paths to conform to the specification. - - Set **cgi.force\_redirect = 0**. - -2. Set the FastCGI configuration settings for the PHP section by running fcgiconfig.js as follows: - - - Set the FastCGI process pool property **InstanceMaxRequests** to **10000**. This setting specifies that the FastCGI extension will recycle php-cgi.exe after it has processed 10000 requests successfully. - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis-60/samples/sample4.cmd)] - -3. Configure the FastCGI extension to set the **PHP\_FCGI\_MAX\_REQUESTS** environment variables for the PHP process to **10000**. This setting instructs php-cgi.exe to recycle itself after it has processed 10000 requests successfully. - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis-60/samples/sample5.cmd)] - - > [!NOTE] - > You can configure **InstanceMaxRequests** and **PHP\_FCGI\_MAX\_REQUESTS** to use numbers other than 10000. As a general rule, ensure that the value of **InstanceMaxRequests** is less than or equal to the value of **PHP\_FCGI\_MAX\_REQUESTS**. - -## Test PHP CGI - -After installing the FastCGI extension and registering and configuring the PHP CGI, you can request your PHP application and use it normally. - -To test the PHP application, create and request a **phpinfo.php** page in your site that contains the following: - -[!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis-60/samples/sample6.xml)] - -You should see something like the following: - -[![Screenshot of the P H P Version five dot two dot four web page. In the Server A P I field, Fast C G I is written.](using-fastcgi-to-host-php-applications-on-iis-60/_static/image6.png)](using-fastcgi-to-host-php-applications-on-iis-60/_static/image5.png) - -Note that the **Server API** field indicates that PHP is hosted in **FastCGI** mode. - -## Get More Information - -Use the FastCGI forums to discuss the usage of the FastCGI extension or to file bug reports: - -- [IIS.NET FastCGI forums](https://forums.iis.net/1103.aspx) - -For more information about how to run various PHP applications on IIS, see: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image1.png deleted file mode 100644 index 5c40ae95e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image2.png deleted file mode 100644 index 5c40ae95e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image3.png deleted file mode 100644 index b5f09c370..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image4.png deleted file mode 100644 index b5f09c370..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image5.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image5.png deleted file mode 100644 index 9aad271d1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image6.png deleted file mode 100644 index 9aad271d1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample1.cmd deleted file mode 100644 index 405b3153d..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample2.cmd deleted file mode 100644 index b68827c5e..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" –site:1 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample3.cmd deleted file mode 100644 index 02f81c01c..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample3.cmd +++ /dev/null @@ -1,7 +0,0 @@ -[Types] -… -php=PHP -… - -[PHP] -ExePath=c:\php\php-cgi.exe \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample4.cmd deleted file mode 100644 index eed9c978b..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample5.cmd deleted file mode 100644 index 5ea92cae2..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample6.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample6.xml deleted file mode 100644 index a16412bb3..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60/samples/sample6.xml +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md deleted file mode 100644 index b37148eb8..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md +++ /dev/null @@ -1,299 +0,0 @@ ---- -title: "Using FastCGI to Host PHP Applications on IIS 7" -author: ruslany -description: "This article describes how to configure the FastCGI module and PHP to host PHP applications on IIS 7 and above. IMPORTANT : This article provides instruction..." -ms.date: 12/05/2007 -ms.assetid: f1143e47-6a11-4429-b8e6-e106661a7187 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis -msc.type: authoredcontent ---- -# Using FastCGI to Host PHP Applications on IIS 7 - -by [Ruslan Yakushev](https://github.com/ruslany) - -This article describes how to configure the FastCGI module and PHP to host PHP applications on IIS 7 and above. - -> [!IMPORTANT] -> :::image type="icon" source="using-fastcgi-to-host-php-applications-on-iis/_static/image2.gif"::: -> This article provides instructions on how to install and use the FastCGI component on Windows Server 2008 and Windows Vista **SP1**. SP1 is **required** on Windows Vista. - - - -## Overview - -The FastCGI module in IIS enables popular application frameworks that support the FastCGI protocol to be hosted on the IIS Web server in a high performance and reliable way. FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), which is a standard way of interfacing external applications with Web servers that has been a part of the supported IIS feature set since the first release. - -CGI programs are executable files that are launched by the Web server for each request to process the request and generate dynamic responses that are then sent back to the client. Because many of these frameworks do not support multi-threaded execution, CGI enables them to execute reliably on IIS by executing exactly one request per process. Unfortunately, it provides poor performance due to the high cost of starting and shutting down a process for each request. - -FastCGI addresses the performance issues that are inherent in CGI by providing a mechanism to reuse a single process over and over again for many requests. Additionally, FastCGI maintains compatibility with non-thread-safe libraries by providing a pool of reusable processes and ensuring that each process handles only one request at a time. - - - -## Enable FastCGI Support in IIS - - - -### Windows Server 2008 - -Go to **Server Manager** > **Roles** > **Add Role Services**. On the **Select Role Services** page, select the **CGI** check box. This enables both the CGI and FastCGI services. - -![Screenshot of the Add Role Services window showing the Select Role Services dialog.](using-fastcgi-to-host-php-applications-on-iis/_static/image1.png) - - - -### Windows Vista SP1 - -Go to **Control Panel** > **Programs and Features** > **Turn Windows features on or off**. In the **Windows Features** dialog box, select the **CGI** check box. This enables both the CGI and FastCGI services. - -![Screenshot of the Windows Features dialog with C G I selected.](using-fastcgi-to-host-php-applications-on-iis/_static/image3.png) - - - -### :::image type="icon" source="using-fastcgi-to-host-php-applications-on-iis/_static/image2.gif"::: IMPORTANT: Install the Update for the FastCGI Module - -The update for the IIS FastCGI module fixes several known compatibility issues with popular PHP applications. - - - -### Install the Administration Pack for IIS - -> [!NOTE] -> This step is optional. - -Among other useful features, the Administration Pack for IIS has a convenient user interface for configuring FastCGI settings. The Administration Pack can be installed from the following locations: - -- [Administration Pack for IIS 7 and Above - x86](https://www.iis.net/downloads?tabid=34&i=1682&g=6) -- [Administration Pack for IIS 7 and Above - x64](https://www.iis.net/downloads?tabid=34&i=1683&g=6) - - - -## Install and Configure PHP - -It is recommended that you use a non-thread safe build of PHP with IIS FastCGI. A non-thread safe build of PHP provides significant performance gains over the standard build by not doing any thread-safety checks, which are not necessary, since FastCGI ensures a single threaded execution environment. - -### To install PHP - -1. Download the latest non-thread safe zip package with binaries of PHP: . -2. Unpack the files to the directory of your choice (e.g. `C:\PHP`). Rename the php.ini-recommended file to php.ini. -3. Open the php.ini file. Uncomment and modify the settings as follows: - - - Set **fastcgi.impersonate = 1**. FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under. - - Set **cgi.fix\_pathinfo=1**. cgi.fix\_pathinfo provides \*real\* PATH\_INFO/PATH\_TRANSLATED support for CGI. Previously, PHP behavior was to set PATH\_TRANSLATED to SCRIPT\_FILENAME, and to not define PATH\_INFO. For more information about PATH\_INFO, see the cgi specifications. Setting this value to 1 will cause PHP CGI to fix its paths to conform to the specifications. - - Set **cgi.force\_redirect** = 0. - - Set **open\_basedir** to point to the folder or network path where the content of the Web site(s) is located. - - Set **extension\_dir** to point to the location where the PHP extensions are located. Typically, for PHP 5.2.X the value would be set as **extension\_dir = "./ext"** - - Enable the required PHP extension by un-commenting the corresponding lines, for example: - - extension=php\_mssql.dll - extension=php\_mysql.dll -4. Open a command prompt, and run the following command to verify that PHP installed successfully: - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample1.cmd)] - -If PHP installed correctly and all its dependencies are available on the machine, this command will output the current PHP configuration information. - - - -## Configure IIS to Handle PHP Requests - -For IIS to host PHP applications, you must add a handler mapping that tells IIS to pass all PHP-specific requests to the PHP application framework by using the FastCGI protocol. - - - -### Configure IIS to handle PHP requests by using IIS Manager - -1. Open IIS Manager. At the server level, double-click **Handler Mappings**. - - ![Screenshot of I I S Manager with the Handler Mappings icon highlighted.](using-fastcgi-to-host-php-applications-on-iis/_static/image1.jpg) -2. In the **Actions** pane, click **Add Module Mapping**. In the **Add Module Mapping** dialog box, specify the configuration settings as follows: - - - Request path: **\*.php** - - Module: **FastCgiModule** - - Executable: **"C:\[Path to your PHP installation]\php-cgi.exe"** - - Name: **PHP via FastCGI** -3. Click **OK**. - - ![Screenshot showing the Add Module Mapping dialog.](using-fastcgi-to-host-php-applications-on-iis/_static/image6.png) -4. In the **Add Module Mapping** confirmation dialog box that asks if you want to create a FastCGI application for this executable, click **Yes**. - - ![Screenshot of the Add Module Mapping confirmation dialog with Yes circled.](using-fastcgi-to-host-php-applications-on-iis/_static/image3.jpg) -5. Test that the handler mapping works correctly by creating a phpinfo.php file in the `C:\inetpub\wwwroot` folder that contains the following code: - - [!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample2.xml)] -6. Open a browser and navigate to `http://localhost/phpinfo.php`. If everything was setup correctly, you will see the standard PHP information page. - - ![Screenshot of a browser window showing the P H P information page.](using-fastcgi-to-host-php-applications-on-iis/_static/image8.png) - - > [!NOTE] - > If you do not see **FastCgiModule** in the **Modules:** list, the module is either not registered or not enabled. To check if the FastCGI module is registered, open the IIS configuration file that is located at `%windir%\windows\system32\config\applicationHost.config` and check that the following line is present in the `` section: - - [!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample3.xml)] - - In the same file, also check that the FastCGI module is added to the `` section: - - [!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample4.xml)] - - - -### Configure IIS to handle PHP requests by using the command line - -Alternatively, you can complete the steps above by using the command line tool A **ppCmd**. - -1. Create the FastCGI application process pool by running the following command: - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample5.cmd)] -2. Create the handler mapping by running the following command: - - [!code-console[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample6.cmd)] - - > [!NOTE] - > If you are using PHP version 4.X, you can use php.exe instead of php-cgi.exe. - - - -## Best Practices for Configuring FastCGI and PHP - -The download `https://download.microsoft.com/download/A/2/F/A2F199C0-672E-44E6-BF1D-878E233C3F08/hostingPHPonIIS7.zip "Hosting PHP"` contains a summary presentation on best practices for hosting PHP in a shared hosting environment. - - - -### Security Isolation for PHP Web Sites - -The recommendation for isolating PHP Web sites in a shared hosting environment is consistent with all general security isolation recommendations for IIS. In particular, it is recommended to: - -- Use one application pool per Web site -- Use a dedicated user account as an identity for the application pool -- Configure an anonymous user identity to use the application pool identity -- Ensure that FastCGI impersonation is enabled in the php.ini file (fastcgi.impersonate=1) - -For more details about security isolation in a shared hosting environment, see [Ensure Security Isolation for Web Sites](../../manage/configuring-security/ensure-security-isolation-for-web-sites.md "Ensure Security Isolation for Web Sites"). - - - -### PHP Process Recycling Behavior - -Ensure that FastCGI always recycles the php-cgi.exe processes before the native PHP recycling kicks in. The FastCGI process recycling behavior is controlled by the configuration property **instanceMaxRequests**. This property specifies how many requests the FastCGI process will process before recycling. PHP also has a similar process recycling functionality that is controlled by the environment variable **PHP\_FCGI\_MAX\_REQUESTS**. By setting **instanceMaxRequests** to be less than or equal to **PHP\_FCGI\_MAX\_REQUESTS**, you can ensure that the native PHP process recycling logic will never kick in. - -The FastCGI settings can be configured either by using IIS Manager or by using the command line tool A **ppCmd**. - -#### Configure FastCGI recycling settings by using IIS Manager - -1. Ensure that the [Administration Pack for IIS](#install-the-administration-pack-for-iis) is installed on your server. Open IIS Manager. On the server level, double-click **FastCGI Settings**. - - ![Screenshot of the I I S Manager window showing the Fast C G I settings icon highlighted.](using-fastcgi-to-host-php-applications-on-iis/_static/image10.png) -2. Select the FastCGI application that you want to configure. In the **Actions** pane, click **Edit**. - - ![Screenshot of the I I S Manager window showing the Fast C G I Settings page and Edit highlighted in the Actions pane.](using-fastcgi-to-host-php-applications-on-iis/_static/image12.png) -3. In the **Edit FastCGI Application** dialog box, set the **InstanceMaxRequests** to **10000**. Next to the **EnvironmentVariables** setting, click the Browse (**...**) button. - - ![Screenshot of the Edit Fast C G I Application dialog. The browse button and Instance Max Requests are circled.](using-fastcgi-to-host-php-applications-on-iis/_static/image14.png) -4. In the **EnvironmentVariables Collection Editor** dialog box, add the **PHP\_FCGI\_MAX\_REQUESTS** environment variable and set its value to **10000**. - - ![Screenshot of the Environment Variables Collection Editor dialog with Value highlighted.](using-fastcgi-to-host-php-applications-on-iis/_static/image16.png) - - > [!NOTE] - > If you do not configure these settings, the following default settings will be used: **instanceMaxRequests** = 200, **PHP\_FCGI\_MAX\_REQUESTS** = 500 (on most PHP builds). - -#### Configure FastCGI recycling settings by using the command line - -Configure the recycling behavior of FastCGI and PHP by using **AppCmd** by running the following commands: - -[!code-console[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample7.cmd)] - - - -### PHP Versioning - -Many PHP applications rely on functions or features that are available only in certain versions of PHP. If these types of applications are to be hosted on the same server, different PHP versions must be enabled and running side-by-side. The IIS FastCGI handler fully supports running multiple versions of PHP on the same Web server. - -For example, assume that on your Web server you plan to support PHP 4.4.8, PHP 5.2.1, and PHP 5.2.5 non-thread safe. To enable that configuration, you must place corresponding PHP binaries in separate folders on the file system (e.g. `C:\php448\`, `C:\php521\` and `C:\php525nts`) and then create FastCGI application process pools for each version: - -[!code-console[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample8.cmd)] - -If you have three Web sites (site1, site2, site3) and each site must use a different PHP version, you can now define handler mappings on each of those sites to reference a corresponding FastCGI application process pool. - -> [!NOTE] -> Each FastCGI process pool is uniquely identified by a combination of fullPath and arguments properties. - -[!code-console[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample9.cmd)] - - - -### PHP Security Recommendations - -The following settings can be used to tighten the security of a PHP installation. To make the recommended changes, locate and open the php.ini file and edit the configuration settings as described below: - -| Setting | Description | -| --- | --- | -| allow\_url\_fopen=Off allow\_url\_include=Off | Disable remote URLs for file handling functions, which may cause code injection vulnerabilities. | -| register\_globals=Off | Disable register\_globals. | -| open\_basedir="c:\inetpub\" | Restrict where PHP processes can read and write on a file system. | -| safe\_mode=Off safe\_mode\_gid=Off | Disable safe mode. | -| max\_execution\_time=30 max\_input\_time=60 | Limit script execution time. | -| memory\_limit=16M upload\_max\_filesize=2M post\_max\_size=8M max\_input\_nesting\_levels=64 | Limit memory usage and file sizes. | -| display\_errors=Off log\_errors=On error\_log="C:\path\of\your\choice" | Configure error messages and logging. | -| fastcgi.logging=0 | The IIS FastCGI module will fail the request when PHP sends any data on stderr by using the FastCGI protocol. Disable FastCGI logging to prevent PHP from sending error information over stderr and generating 500 response codes for the client. | -| expose\_php=Off | Hide the presence of PHP. | - - - -## Enabling per-site PHP configuration - -This section describes the recommended way of enabling per-site PHP configuration. This recommendation was discovered and validated by Radney Jasmin with hosting provider [GoDaddy.com](http://www.godaddy.com/) who now offers PHP hosting on Windows Server 2008 by using FastCGI. - -### Per-site PHP Process Pools - -When each Web site has its own application pool, which is a recommended practice on IIS, it is possible to associate a dedicated FastCGI process pool with each Web site. A FastCGI process pool is uniquely identified by the combination of **fullPath** and **arguments** attributes. If you need to create several FastCGI process pools for the same process executable, such as php-cgi.exe, you can use the **arguments** attribute to distinguish the process pool definitions. With php-cgi.exe processes, you can also use the command line switch "-d" to define an INI entry for a PHP process. You can use this switch to set a PHP setting that makes the arguments string unique. - -For example, if there are two Web sites "website1" and "website2" that must have their own set of PHP settings, the FastCGI process pools can be defined as follows: - -[!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample10.xml)] - -In this example the PHP setting **open\_basedir** is used to distinguish between the process pool definitions. The setting also enforces that the PHP executable for each process pool can perform file operations only within the root folder of the corresponding Web site. - -Then website1 can have the PHP handler mapping as follows: - -[!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample11.xml)] - -and website2 can have the PHP handler mapping as follows: - -[!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample12.xml)] - -### Specifying php.ini location - -When the PHP process starts, it determines the location of the configuration php.ini file by using various settings. [The PHP documentation](http://www.php.net/manual/en/configuration.php) provides a detailed description of the PHP startup process. One of the places where the PHP process searches for the php.ini location is the PHPRC environment variable. If the PHP process finds a php.ini file in the path that is specified in this environment variable, it will use it; otherwise, the PHP process will revert to using the default location of the php.ini file. This environment variable can be used to allow hosting customers to use their own versions of php.ini files. - -For example if there are two Web sites "website1" and "website2" that are located at the following file paths: `C:\WebSites\website1` and `C:\WebSites\website2`, you can configure the php-cgi.exe process pools in the `` section of the applicationHost.config file as follows: - -[!code-xml[Main](using-fastcgi-to-host-php-applications-on-iis/samples/sample13.xml)] - -This way website1 can have its own version of the php.ini file that is located in the `C:\WebSites\website1`, while website2 can have its own version of the php.ini file that is located in `C:\WebSites\website2`. This configuration also ensures that if a php.ini file cannot be found in the location that is specified by the PHPRC environment variable, then PHP will use the default php.ini file that is located in the same folder where the php-cgi.exe is located. - - - -## Provide URL Rewriting Functionality for PHP Applications - -The majority of popular PHP applications rely on the URL rewriting functionality in Web servers to enable user-friendly and search engine-friendly URLs. IIS provide URL rewriting capabilities by using the [URL rewrite module](../../extensions/url-rewrite-module/using-the-url-rewrite-module.md "URL rewrite module"). - -For more information about how to use the URL Rewrite module, see the following articles: - -- [Microsoft URL Rewrite Module Walkthroughs](../../extensions/url-rewrite-module/using-the-url-rewrite-module.md): Describes how to use the URL Rewrite module. -- [Microsoft URL Rewrite Module configuration reference](../../extensions/url-rewrite-module/url-rewrite-module-configuration-reference.md) Explains the functionality of the module and provides descriptions of all the configuration options. -- Configuring popular PHP applications to work with the URL Rewrite module: - - - [WordPress](install-wordpress-on-iis.md) - - [MediaWiki](mediawiki-on-iis.md) - - [b2Evolution](b2evolution-on-iis.md) - - [Mambo](mambo-on-iis.md) - - [Drupal](install-drupal-on-iis.md) - - - -## Related resources - -For more information regarding hosting PHP applications on IIS refer to the following resources: - -- [Popular PHP applications on IIS](index.md) -- [Configuring FastCGI extension for IIS 6.0](../install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60.md) -- [Using FastCGI extension to host PHP on IIS 6.0](using-fastcgi-to-host-php-applications-on-iis-60.md) -- [Installing FastCGI support on Windows Server 2008 Core](../install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md) diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.gif b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.gif deleted file mode 100644 index 4a6ac0c4e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.jpg deleted file mode 100644 index 9f9fb3718..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.png deleted file mode 100644 index 1633432a7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image10.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image10.png deleted file mode 100644 index e5fca5833..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image10.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image12.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image12.png deleted file mode 100644 index 9e01b1fa6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image12.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image14.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image14.png deleted file mode 100644 index 43445e2c2..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image14.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image16.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image16.png deleted file mode 100644 index 2bea6d1ca..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image16.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image2.gif b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image2.gif deleted file mode 100644 index 4a6ac0c4e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image2.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image3.jpg deleted file mode 100644 index be2388956..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image3.png deleted file mode 100644 index 716a86bf6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image4.png deleted file mode 100644 index 716a86bf6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image6.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image6.png deleted file mode 100644 index 9b23d4ee1..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image8.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image8.png deleted file mode 100644 index c8b618bcc..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/_static/image8.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample1.cmd deleted file mode 100644 index 91d448c70..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\PHP>php –info \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample10.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample10.xml deleted file mode 100644 index 786eb51dd..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample10.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample11.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample11.xml deleted file mode 100644 index 2251dc8ca..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample11.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample12.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample12.xml deleted file mode 100644 index acf4e6f12..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample12.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample13.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample13.xml deleted file mode 100644 index d80802e85..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample13.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample2.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample2.xml deleted file mode 100644 index c9f5eeb12..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample2.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample3.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample3.xml deleted file mode 100644 index fcbed4ded..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample3.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample4.xml b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample4.xml deleted file mode 100644 index f86930009..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample4.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample5.cmd deleted file mode 100644 index e82b6d26e..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\{php_folder}\php-cgi.exe'] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample6.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample6.cmd deleted file mode 100644 index 525a6df0b..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample6.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='c:\{php_folder}\php-cgi.exe',resourceType='Unspecified'] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample7.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample7.cmd deleted file mode 100644 index 91be8dafc..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample7.cmd +++ /dev/null @@ -1,3 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='c:\{php_folder}\php-cgi.exe'].instanceMaxRequests:10000 - -C:\>%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample8.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample8.cmd deleted file mode 100644 index 49757df97..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample8.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php448\php.exe'] - -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php521\php-cgi.exe'] - -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php525nts\php-cgi.exe'] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample9.cmd b/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample9.cmd deleted file mode 100644 index 35360f672..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis/samples/sample9.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config site1 –section:system.webServer/handlers /+"..[name=’PHP448_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php448\php.exe’,resourceType=’Either’] - -C:\>%windir%\system32\inetsrv\appcmd set config site2 –section:system.webServer/handlers /+"..[name=’PHP521_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php521\php-cgi.exe’,resourceType=’Either’] - -C:\>%windir%\system32\inetsrv\appcmd set config site3 –section:system.webServer/handlers /+"..[name=’PHP525nts_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php525nts\php-cgi.exe’,resourceType=’Either’] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis.md b/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis.md deleted file mode 100644 index 38ef566df..000000000 --- a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "XOOPS on IIS" -author: rick-anderson -description: "XOOPS is a popular open source portal and content management system. It serves as a web framework for use by small, medium and large sites. It allows adminis..." -ms.date: 12/18/2007 -ms.assetid: 6c81b442-b873-4b8b-93a8-ee1cbd1b9c46 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis -msc.type: authoredcontent ---- -# XOOPS on IIS - -by Eric Woersching - -## Introduction - -XOOPS is a popular open source portal and content management system. It serves as a web framework for use by small, medium and large sites. It allows administrators to easily create dynamic websites with great content and many outstanding features. It is a tool for developing small to large dynamic community websites, intra company portals, corporate portals, weblogs and much more. The following sections describe how to install and configure XOOPS for use with FastCGI on IIS 6.0. This document assumes that you have completed the setup and configuration of the FastCGI extension and PHP libraries as described in [https://www.iis.net/fastcgi/phpon60](using-fastcgi-to-host-php-applications-on-iis-60.md). - -The instructions have been tested and found to work in the following configurations: - -- Windows Server® 2003 operating system -- IIS 6.0 -- PHP 5.2.4 -- MySQL 5.0.45 -- XOOPS 2.0.17 - -## Notes on PHP Setup - -XOOPS does not require many modifications beyond the default configuration provided by PHP **.** From the base configuration file provided by PHP, you only need to modify the following lines in your php.ini configuration file to get XOOPS working: - -- Define `extension\_dir` as `c:\php\ext` (i.e., the location of your php extensions directory) -- Uncomment `extension=php\_mysql.dll` in the extensions list to enable MySQL support - -## Download and Unzip XOOPS - -The latest release of XOOPS is at [http://www.xoops.org/](http://www.xoops.org/). The instructions in this document are based on version 2.0.17, but future versions are likely to be very similar as far as installation is concerned. After downloading the zip package, extract the contents of the 'htdocs' folder from the archive into `C:\Inetpub\wwwroot\xoops` or another directory of your choosing. - -## Access Permissions - -In order for XOOPS installation to work, you must make sure that the IIS application pool worker process has write access to the following directories and files: - -- mainfile.php -- cache -- templates\_c -- uploads - -> [!NOTE] -> FastCGI impersonates the requests from all users. Make sure that the user account used for impersonation has write access to those files. - -For example, if the web site or virtual directory is configured for Anonymous authentication, then grant "Internet Guest Account" write access to those files. - -## Set Up the Database - -Before starting the installation procedure for XOOPS, create a database on your server. Also create a user and grant this user db ownership permission to the database. Follow the instructions in the [Setting Up a Database for a PHP Application on IIS](../install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md) article for a MySQL database. This walkthrough uses the following database information: - -- Database Name: 'xoops' -- Database User: 'xoops' -- Account Password: 'xoops' - -## Set Up and Configure the Application - -Begin the graphical XOOPS installation procedure by pointing your browser at `http://localhost/xoops`. You see the following page. - -1. Click 'Next' to go to the next screen. - - ![Screenshot showing a browser window with the XOOPS custom installation open in a tab.](xoops-on-iis/_static/image1.png) -2. Proceed through the installation screens until you get to the most important page-- the setup for configuring the database connection. Fill in the information as appropriate: - - ![Screenshot showing a browser window with the XOOPS General configuration open in a tab.](xoops-on-iis/_static/image3.png) - - > [!NOTE] - > The XOOPS root path is shown with the wrong slashes, but the install still works. -3. Now that the database connection is configured, proceed to the following screens that verify the connection and set up the database tables. Keep clicking "Next" and several screens later XOOPS will be successfully installed. - -## Getting More Information - -To discuss the FastCGI Extension for IIS 6.0, or file bug reports, use the FastCGI forums: - -- [IIS.NET / IIS 6.0 FastCGI forums](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, refer to: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image1.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image1.png deleted file mode 100644 index c4285c5ce..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image2.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image2.png deleted file mode 100644 index c4285c5ce..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image3.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image3.png deleted file mode 100644 index 7ea6bf325..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image4.png b/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image4.png deleted file mode 100644 index 7ea6bf325..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-applications-on-iis/xoops-on-iis/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above.md b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above.md deleted file mode 100644 index 872333250..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: "Configure SMTP E-Mail in IIS 7 and higher" -author: rick-anderson -description: "To send e-mail from a PHP application using the System.Net.Mail API, you must configure Simple Mail Transfer Protocol (SMTP) e-mail. Configuring e-mail servi..." -ms.date: 11/15/2009 -ms.assetid: 181c9548-33dd-4af4-88b8-0dab0fd05811 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above -msc.type: authoredcontent ---- -# Configure SMTP E-Mail in IIS 7 and higher - -by Tali Smith - -## Note - -The IIS SMTP Virtual Server Component that is mentioned in this article is part of IIS 6.0, the support for which has ended with the support of [Windows Server 2003](https://support.microsoft.com/lifecycle/search/810). To relay emails to Exchange OnPrem and/or Office 365, use one of the supported versions of Exchange Server, as we no longer support doing so with IIS SMTP. - -## Introduction - -To send e-mail from a PHP application using the System.Net.Mail API, you must configure Simple Mail Transfer Protocol (SMTP) e-mail. Configuring e-mail services tells the System.Net.Mail application programming interface (API) to which SMTP server to deliver the e-mail generated by your application. Mail can be delivered immediately, or it can be delivered to a file location on disk where it can be retrieved for delivery later. For example, a company can provide an e-mail link for sending feedback messages or for requesting information. - -The procedures for configuring SMTP e-mail can be performed at the following levels in Internet Information Services 7 (IIS 7) and above: - -- Web server -- Site -- Application -- Physical and virtual directories -- File (URL) - -## Install SMTP - -The SMTP server is not installed by default. - -1. Open Server Manager by right-clicking on **My Computer**, and selecting **Manage**. (Alternately, open **Control Panel**, click on **Programs and Features**, and then select **Turn Windows features on or off**.) -2. Under **Features**, select **Add Features**. -3. Select the **SMTP Server** check box. -4. Click **Add Required Role Services**. If there are any missing roles required for the SMTP installation, Windows Server® 2008 R2 or Windows Server® 2008 installs them. Click **Next**. -5. You need to step through the entire wizard again, even though IIS is already installed (IIS 6 Management Compatibility and the IIS 6 Management Console must be installed for SMTP to work). - - ![Screenshot of the Add Features Wizard showing Confirm Installation Selections in the main pane. Install is highlighted.](configure-smtp-e-mail-in-iis-7-and-above/_static/image1.jpg) - - *Figure 1: Confirm Installation Selections* -6. Press **Close** when installation is complete. - -## Configure SMTP E-Mail for a Web Application - -Once you add SMTP, you can configure it for your PHP applications. This can be done by using the user interface (UI), by running Appcmd.exe commands from a command prompt, by editing configuration files directly, or by writing Windows® Management Instrumentation (WMI) scripts. Note that you must have IIS installed before enabling SMTP. - -### Use the User Interface - -1. Open **Internet Information Services (IIS) Manager**, and then navigate to the level you want to manage. -2. **Features View**, double-click **SMTP E-mail**. -3. On the **SMTP E-mail** page, type the e-mail address of the sender in the **E-mail address** text box. -4. On the **SMTP E-mail** page, select one of the following delivery methods: - - - **Deliver e-mail to SMTP server:** to deliver e-mail messages immediately. This requires an operational SMTP server for which the user has credentials. - - **Store e-mail in pickup directory:** to store e-mails in a file location on disk for later delivery by the PHP application (or by a Microsoft® ASP.NET application or by a user). -5. If **Deliver e-mail to SMTP server** is selected, do the following: - - - Type the unique name of your SMTP server in the **SMTP Server** text box, or select the **Use localhost** check box to set the name to **LocalHost**. Setting the name to LocalHost means that ASP.NET uses an SMTP server on the local computer. Typically, this is the default SMTP virtual server. - - Enter a TCP port in the **Port** text box. Port 25 is the SMTP standard TCP port and is the default setting. More than one virtual server can use the same TCP port if all servers are configured by using different IP addresses. - - Under **Authentication Settings**, specify the authentication mode and credentials if your SMTP server requires these. -6. If **Store e-mail in pickup directory** is selected, type the batch e-mail location in the **Store e-mail in pickup directory** text box. -7. Click **Apply** in the **Actions** pane. - -### Use the Command Line - -You can configure IIS so that e-mail is delivered immediately or stored for later delivery. - -#### Deliver e-mail messages immediately - -To configure SMTP e-mail to deliver e-mail messages immediately, use the following syntax: - -[!code-console[Main](configure-smtp-e-mail-in-iis-7-and-above/samples/sample1.cmd)] - -The variable **from***string* is the e-mail address of the sender. The variable **/deliveryMethod:network** configures IIS to deliver e-mail messages immediately. The variable **/network.port***int* sets the TCP port that is used by IIS to deliver e-mail messages. The variable **/network.host***string* specifies the host used for SMTP transactions. The variable **network.defaultCredentials:True**|**False** enables or disables authentication using the default network credentials. If **defaultCredentials** is set to **True**, Kerberos or NTLM are used if the server supports these protocols. The variables **network.userName:** *string* and **network. password:** *string* set a basic authentication user name and password. - -#### Store e-mails for later delivery - -To configure SMTP e-mail to store e-mails in a file location on disk for later delivery by an application, such as an ASP.NET application, or by a user, such as an administrator, use the following syntax: - -[!code-console[Main](configure-smtp-e-mail-in-iis-7-and-above/samples/sample2.cmd)] - -The variable from string is the e-mail address of the sender. The variable/deliveryMethod:PickupDirectoryFromIis|SpecifiedPickupDirectory string configures IIS to store e-mails in a file location on disk for later delivery. The variable /SpecifiedPickupDirectory string sets the file location on disk in which to store the e-mail messages for later delivery. - -Note that when you use Appcmd.exe to configure the `` element at the global level in IIS, you must specify **/commit:WEBROOT** in the command so that configuration changes are made to the root Web.config file instead of the ApplicationHost.config file. - -### Edit the Configuration Files - -1. First, configure the Php.ini file. Open the **Php.ini** file, and find the entry: - - [!code-console[Main](configure-smtp-e-mail-in-iis-7-and-above/samples/sample3.cmd)] -2. Set the following values: - - [!code-console[Main](configure-smtp-e-mail-in-iis-7-and-above/samples/sample4.cmd)] - - Note that the default value is localhost, so there is no need to change this if SMTP is installed locally. - - - Save and close the **Php.ini** file. -3. Enable Relay for localhost: - - - Open the **Internet Information Services (IIS) 6.0 Manager**. - - Right-click on **Default SMTP Virtual Server**. -4. On the **Properties** page, open the **Access** tab, and then click on **Connection**. You can see which server or IP addresses are allowed to connect to the server. -5. If the IP address 127.0.0.1 is not listed, add it using the **Add** button. You may also add your server IP address to the list. - - ![Screenshot of a desktop showing multiple windows. The Computer dialog is at the top with I P address and O K highlighted.](configure-smtp-e-mail-in-iis-7-and-above/_static/image3.jpg) - - *Figure 2: Enable Relay for localhost* -6. Click **OK** to accept the information. -7. Click the **Relay** button on the **Access** tab, and set up the relay options for the server. Ensure that localhost and the IP address 127.0.0.1 are granted permission to relay mail. -8. Click **OK** to accept the options, and then click **Apply** and **OK** to return to the main page of the IIS Manager. -9. Click **Restart IIS**. - -## Test E-Mail from PHP - -Create a test script to see whether you can send e-mail using PHP. Copy the following text and save it as **email\_test.php** at your server root. - -[!code-xml[Main](configure-smtp-e-mail-in-iis-7-and-above/samples/sample5.xml)] - -Run the file at **mydomain.com/email\_test.php**. - -## Links for Further Information - -- [Configure SMTP e-mail in IIS 7](https://technet.microsoft.com/library/cc772058(WS.10).aspx). diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image1.jpg deleted file mode 100644 index d5e363d66..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image2.jpg deleted file mode 100644 index d5e363d66..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image3.jpg deleted file mode 100644 index 92e05ed61..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image4.jpg deleted file mode 100644 index 92e05ed61..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample1.cmd deleted file mode 100644 index cf4c00146..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\%windir%\system32\inetsrv\appcmd set config /commit:WEBROOT /section:smtp /from: string /deliveryMethod:network /network.port: int /network.defaultCredentials:True|False /network.host:string /network.userName:string /network.password:string \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample2.cmd deleted file mode 100644 index 77dc38ec7..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\%windir%\system32\inetsrv\appcmd set config /commit:WEBROOT /section:smtp /from: string /deliveryMethod:PickupDirectoryFromIis|SpecifiedPickupDirectory /SpecifiedPickupDirectory:string \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample3.cmd deleted file mode 100644 index 6d4db0686..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -[mail function] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample4.cmd deleted file mode 100644 index f552abd8f..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample4.cmd +++ /dev/null @@ -1,3 +0,0 @@ -SMTP=localhost -sendmail_from = string -smtp_port=25 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample5.xml b/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample5.xml deleted file mode 100644 index af3072326..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configure-smtp-e-mail-in-iis-7-and-above/samples/sample5.xml +++ /dev/null @@ -1,5 +0,0 @@ - [!NOTE] - > If you are using a 64-bit platform in WOW mode, you must use the fcgiext.dll file that is located in the `%WINDIR%\SysWOW64\inetsrv` path. - -8. In the **Extension** text box, enter **.php** (or another extension that is specific to your FastCGI application). -9. Under **Verbs**, in the **Limit to** text box, enter **GET,HEAD,POST**. -10. Select the **Script engine** and **Verify that file exists** check boxes. - - ![Screenshot of the Add/Edit Application Extension Mapping dialog.](configuring-the-fastcgi-extension-for-iis-60/_static/image1.png) - -11. Click **OK**. - -### FCGIEXT.ini - -The configuration for FastCGI is a collection of one or more applications. A FastCGI application consists of a pool of processes that each handle HTTP requests. Each process in the pool handles one request at a time. After each request, the process is returned to the pool to await another request. Each application is required to have its own section in the configuration file to specify its behavior. - -The main section of the fcgiext.ini file is the **[types]** section. This section associates file extensions from the URL with FastCGI applications. - -The general syntax is as follows: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample1.cmd)] - -The previous example consists of seven mappings that are mapped as follows: - -- The file extension "abc" is associated with the FastCGI application named "Application 1". -- The file extension "def" is associated with the FastCGI application named "Application 2", but only for requests that are made to the application /app1 under the site with the numeric identifier of "1701187997". Note that application-specific mappings override site, extension-specific mappings. -- Requests to the application /app1 under the Web site with the identifier of "1701187997" and with a file extension other than "def" are associated with the FastCGI application named "Application 3". -- The file extension "def" is associated with the FastCGI application named "Application 4", but only for requests that are made to the applications other than /app1 under the Web site with the numeric identifier of "1701187997". Note that site-specific mappings override non-site-specific mappings. -- Requests to the applications other than /app1 under the Web site with the identifier of "1701187997" and with file extensions other than "def" are associated with the FastCGI application named "Application 5". -- The file extension "def" is associated with the FastCGI application named "Application 6" for requests that are not for sites with the numeric identifier of "1701187997". -- Requests with a file extension that does not have a specific mapping are associated with the FastCGI application named "Application 7". - -> [!NOTE] -> Application names are ASCII and should generally contain only alphanumeric characters. Space characters are allowed. Application names are not case sensitive. - -> [!NOTE] -> Multiple mappings can be associated with the same FastCGI application. - -### FastCGI Application Settings - -The FastCGI extension has a set of configuration settings that controls the behavior of FastCGI processes that are associated with the FastCGI process pool. This section lists all the settings that are supported by FastCGI and their format: - -- *ExePath* - The physical path to the process executable to use in the pool. -- *Arguments* - Arguments to pass to each process in the pool at start time. This setting is optional. -- *EnvironmentVars –* Environment variables that are set for the process executable associated with this pool. This setting uses the following format: - -> EnvironmentVars=Name:Value,Name:Value,…,Name:Value - -Example: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample2.cmd)] - -If the environment variable value contains a space character, then enclose the value in quotes. If the environment variable value contains a comma character, then this character is escaped with "/". Similarly, if the environment variable value contains "/", then this character should be escaped as well. - -Example: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample3.cmd)] - -- *Protocol –* This setting specifies the protocol to use to communicate with the FastCGI process. The allowed values are 'NamedPipe' and 'Tcp'. If not specified, the default value is 'NamedPipe'. -- *QueueLength* – This setting specifies the maximum number of requests to this application's process pool that are queued before the FastCGI handler starts returning errors to clients, indicating that the application is too busy. If not specified, the default value is 1000. -- *MaxInstances* – This is the highest number of process instances allowed in the process pool. Note that the FastCGI handler will not create this number of processes unless they are needed. If your application never receives more than two concurrent requests, your application only creates two processes. The default is 0, which means that the number of process instances will be adjusted automatically based on available memory and current CPU usage . -- *InstanceMaxRequests* – This is the number of requests that are sent to a process in the pool before it is shut down and recycled. The default value is 1000. -- *IdleTimeout* – This is the number of seconds that a process can remain idle without working on a request before it shuts down. The default is 300 seconds. -- *ActivityTimeout* – This is the number of seconds that the FastCGI handler waits for I/O activity from a process before it is terminated. The default is 30 seconds. -- *RequestTimeout* – This is the maximum amount of time that a FastCGI process is allowed to handle a request before it is terminated. The default value is 90 seconds. -- *ResponseBufferLimit –* Data from FastCGI processes is buffered before being returned to the client as responses. This property specifies the amount of response data, in bytes, that is buffered for requests to this application. This buffer is flushed to the client once it is full, or when the response is complete, whichever occurs first. If not specified, the default value is 4194304 (4MB). -- *FlushNamedPipe* – There are some cases where a FastCGI application might not read all of the data from the named pipe that communicates with the Web server. If this happens, the Web server waits for a read that is not coming, causing a deadlock on that member of the process pool. This most often happens in the case where the FastCGI process abnormally exits. For instance, the process may have an internal notion of the maximum number of requests that it can handle that is less than the *InstanceMaxRequests* setting. Setting *FlushNamedPipe* to 1 will cause FastCGI to flush data that might lead to this condition. The default value is 0. -- *UnhealthyOnQueueFull* – If the value is 1, the worker process that is hosting is flagged to IIS as unhealthy any time that the application's request queue is filled. IIS checks health whenever it does a ping to the worker process. If that worker process has been flagged as unhealthy, it (along with everything it is hosting) will be recycled. If not specified, the default value is 0. -- *MonitorChangesTo* - This property specifies the path to a file, changes to which will trigger a recycle of FastCGI executables that are running for this FastCGI process pool. If the value of this property is blank, file change monitoring is disabled. The path to a file can be absolute or relative to the folder in which the FastCGI process (as specified by ExePath) is present. If not specified, the default value is blank. -- *StderrMode* - This setting specifies how content that is received on **stderr** is handled. The allowed values are: - - - '**ReturnStderrIn500**' - The FastCGI extension will set the response status code to 500 and send whatever was received on the stderr stream as a response. This is the same behavior as in the FastCGI Extension v1.0. - - '**ReturnGeneric500**' - The FastCGI extension will set the response status code to 500, but will return a generic 500 response. - - '**IgnoreAndReturn200**' - Data on **stderr** is completely ignored and the FastCGI extension will send what was received on **stdout** as a response, with the status code 200. - - **'TerminateProcess**' - The FastCGI extension will terminate the FastCGI process as soon as it returns anything on **stderr**. A generic response with the status code 500 will be sent to the HTTP client. - -If this setting is not specified, the default value is 'ReturnStderrIn500'. - -- *MaxInstances* - This setting dictates the maximum number of FastCGI processes that can be launched for each application pool. This value is also equal to the maximum number of requests that can be processed simultaneously, since one process handles only one request at a time. This setting existed in the FastCGI Extension v1.0; however, with FastCGI Extension v1.5, the value can be set to 0, which will turn on automatic adjustment of the maximum number of instances. When the value is set to 0, the FastCGI extension will constantly analyze current CPU load and memory availability and, based on that, will increase or decrease the number of FastCGI process instances that are running at the same time. -- *SignalBeforeTerminateSeconds* - This setting specifies the number of seconds to elapse after setting the shutdown event and before calling TerminateProcess, thereby forcibly terminating the process. The default value is 0, which means that the event is not set and the FastCGI processes can be terminated abruptly at any time. If this value is greater than 0, the FastCGI process will create an event that is inherited by the child process. The value of this event's handle is set as the environment variable \_FCGI\_SHUTDOWN\_EVENT\_. The name of the named pipe, which is used to communicate with the process, is stored in the environment variable \_FCGI\_X\_PIPE\_. -- *ActivityTimeout* - This is the number of seconds that the FastCGI handler waits for I/O activity from a process before it is terminated. This setting existed in the FastCGI Extension v1.0, but in v1.5 its default value has been increased from 30 seconds to 70 seconds. - -### Using UTF-8 Encoding for Server Variables - -By default, the FastCGI extension uses ASCII encoding when setting server variables that are used by PHP. When the requested URL contains non-ASCII characters, server variables that derive their values from the requested URL string may be set incorrectly. PHP applications that rely on those server variables may not work as a result. - -To prevent this, the FastCGI extension can be configured to use UTF-8 encoding when setting server variables. To configure FastCGI to use UTF-8 encoding for a particular set of server variables, use the **REG\_MULTI\_SZ** registry key **FastCGIUtf8ServerVariables** and set its value to a list of server variable names. For example: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample4.cmd)] - -The above example configures the FastCGI extension to use UTF-8 encoding when setting the REQUEST\_URI and PATH\_INFO server variables. - -After setting the registry key, restart IIS by using the **iisreset** command. - -**Warning:** Using UTF-8 encoding for server variables may affect how PHP core and PHP applications work. Make sure to verify that applications work as expected after the registry key has been changed. - -## Using the FastCGI Configuration Script - -To simplify and automate the configuration steps that are described in the previous sections, a configuration script (fcgiconfig.js) is provided with the installation of the FastCGI extension. The script is located in `%WINDIR%\system32\inetsrv`. This script adds and removes script maps and modifies application pool settings in the fcgiext.ini file. - -### Adding a New FastCGI Mapping - -To add a new FastCGI mapping, run the script fcgiconfig.js with the **–add** switch. When using this switch, you must provide the following parameters: - -- **-section:<Section name>.** This parameter specifies the name of the section that will be added to the fcgiext.ini file in the **[Types]** block. -- **-extension:<file extension>**. This parameter specifies which file extensions are associated with this section. -- **-path:<file path to CGI executable>**. This parameter specifies the absolute file path to the CGI executable that processes requests for files with the extension that is specified in the **–extension** parameter. -- **-site:<site id>**. This optional parameter specifies to which site the section should be added. If not specified, the section is added to all sites on your Web server. -- **-application:"/w3svc/<siteid>/root/<appname>"** -- **-norecycle**. By default, the configuration script recycles all application pools on IIS 6.0 for configuration changes to take effect. This optional parameter prevents this recycling. - -Examples: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample5.cmd)] - -The previous example adds a script map for the .php extension and updates the fcgiext.ini file. - -As an option, you can specify to which site the script map is applied: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample6.cmd)] - -This example adds a script map to the "Default Web Site" only. - -Also, you can specify to which application the script map is applied: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample7.cmd)] - -### Removing an Existing FastCGI Mapping - -To remove an existing FastCGI mapping, run the script fcgiconfig.js with the **–remove** switch. When using this switch, you must provide the following parameters: - -- **-section:<Section name>**. This parameter specifies the name of the section that will be removed from the fcgiext.ini file in the **[Types]** block. -- **-norecycle**. By default, the configuration script recycles all application pools on IIS 6.0 for configuration changes to take effect. This optional parameter prevents this recycling. - -This example removes the FastCGI mapping for PHP applications: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample8.cmd)] - -### Configuring an Existing FastCGI Mapping - -You can use the configuration script to set all the FastCGI configuration properties that are described earlier in this article. To set the configuration properties, use the **–set** switch. When using this switch, you must provide the following parameters: - -- **-section:<Section name>**. This parameter specifies the name of the section to which the configuration change will be applied. -- **-<Parameter Name>:<Parameter Value>.** This parameter specifies the name of the parameter to change and its new value. The complete list of possible parameters is found in the section "Application Pool Settings". -- **-norecycle**. By default, the configuration script recycles all application pools on IIS 6.0 for configuration changes to take effect. This optional parameter prevents this recycling. - -This example sets the FastCGI process pool configuration property InstanceMaxRequests for the "PHP" section: - -[!code-console[Main](configuring-the-fastcgi-extension-for-iis-60/samples/sample9.cmd)] diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image1.png b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image1.png deleted file mode 100644 index 5c40ae95e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image2.png b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image2.png deleted file mode 100644 index 5c40ae95e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image3.png b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image3.png deleted file mode 100644 index 5c40ae95e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image4.png b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image4.png deleted file mode 100644 index 5c40ae95e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample1.cmd deleted file mode 100644 index 54cbdf200..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample1.cmd +++ /dev/null @@ -1,8 +0,0 @@ -[types] -abc=Application 1 -def:/lm/w3svc/1701187997/root/app1=Application 2 -*:/lm/w3svc/1701187997/root/app1=Application 3 -def:1701187997=Application 4 -*:1701187997=Application 5 -def=Application 6 -*=Application 7 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample2.cmd deleted file mode 100644 index a9c10da38..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -EnvironmentVars=VARIABLE1:10000,VARIABLE2:20000 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample3.cmd deleted file mode 100644 index 22a432742..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -EnvironmentVars=VARIABLE1:"C://PHP",VARIABLE2="1/,2/,3" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample4.cmd deleted file mode 100644 index bc28b39a3..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\Parameters /v FastCGIUtf8ServerVariables /t REG_MULTI_SZ /d REQUEST_URI\0PATH_INFO \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample5.cmd deleted file mode 100644 index 0f65e19ad..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ ->cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample6.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample6.cmd deleted file mode 100644 index 1686b716d..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample6.cmd +++ /dev/null @@ -1 +0,0 @@ ->cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" –site:1 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample7.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample7.cmd deleted file mode 100644 index 4999ef3d3..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample7.cmd +++ /dev/null @@ -1 +0,0 @@ ->cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP\php-cgi.exe" -application:"/w3svc/1/root/app1" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample8.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample8.cmd deleted file mode 100644 index 8ad38932f..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample8.cmd +++ /dev/null @@ -1 +0,0 @@ ->cscript fcgiconfig.js -remove -section:"PHP" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample9.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample9.cmd deleted file mode 100644 index b1aaa63d4..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/configuring-the-fastcgi-extension-for-iis-60/samples/sample9.cmd +++ /dev/null @@ -1 +0,0 @@ ->cscript fcgiconfig.js -set -section:"PHP" –InstanceMaxRequests:10000 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content.md b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content.md deleted file mode 100644 index 48ce41cd0..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: "Create a Separate Site or Virtual Directory for PHP Content" -author: rick-anderson -description: "Introduction PHP hosters generally set up an environment, and provide a separate domain for each customer to host their applications. Self-hosters or very sm..." -ms.date: 11/15/2009 -ms.assetid: b47e1bcf-47f1-4710-b686-db85030fb71d -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content -msc.type: authoredcontent ---- -# Create a Separate Site or Virtual Directory for PHP Content - -by Tali Smith - -## Introduction - -PHP hosters generally set up an environment, and provide a separate domain for each customer to host their applications. - -Self-hosters or very small hosters, however, may need create a separate site or virtual directory to host their PHP content on a system that is also used for other workloads when: - -- Application contents are located in a separate physical directory on disk. -- Mixing other application contents with the PHP application is not desired. -- Different permission settings are desired. -- You would like to host the PHP application at a different port or domain. - -In these cases, you can add a separate virtual directory to host the PHP content; the directory is still accessible as part of the default Web site's URL hierarchy. You must also set the permissions necessary to enable PHP content to be served. - -## Create a Virtual Directory to Host PHP Content - -1. Using **Windows® Explorer**, browse to the `C:\inetpub` directory. -2. Create a subdirectory named **phpapp** directory. -3. Right-click on the `C:\inetpub\phpapp` directory, and then click **Properties**. -4. On the **Security** tab, click **Edit**. -5. Click **Add**, and then type **IIS\_IUSRS** in the **Enter the object names to select** box. -6. Click **OK**. - [![Screenshot of the Permissions for p h p app dialog box. The Security tab is shown. Under Group or user names, I I S underscore I U S R S is highlighted.](create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.gif)](create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.gif) - *Figure 1: Permissions for phpapp folder* -7. Click **OK** to accept the default permissions (read and execute) -8. Click **OK** to close the phpapp Permissions window. - -## Set Permissions - -Any directory containing PHP content must grant the following permissions: - -- Grant IIS\_IUSRS read permission. This allows the Php-cgi.exe process to access the PHP content, if PHP is not configured to impersonate the authenticated user (fastcgi.impersonate = 0). This allows PHP in any Internet Information Services (IIS) application pool to access the content. -- OPTIONAL: If using impersonation, the directory must grant read access to all possible authenticated users that use the application by granting access to the individual user or a group to which all such users belong. -- If using anonymous authentication, the directory must grant access to the anonymous user configured in IIS (IIS\_IUSR by default). -- If using Windows®-based authentication methods, access must be granted to all possible authenticated users or group to which they all belong. -- It is strongly recommended not to grant write access or full access to IIS\_IUSRS or any account under which PHP executes. However, sometimes write access may be necessary if the application writes to its own files. In that case, grant write access only to the files or subdirectory that requires it. It is preferred however to configure all write access to be outside of the Web-accessible directory structure. -- OPTIONAL: If using application pool isolation to isolate applications, the directory should instead grant access to the custom account assigned to the corresponding application pool. -- ADVANCED: Alternatively, when using application pool isolation, access may be granted to the application pool security identifier (SID). - -Follow these steps: - -1. From the **Start** menu, open **Internet Information Services (IIS) Manager**. -2. Expand the server node, and then expand **Sites**. -3. In the tree view on the left, right-click the **Default Web Site**. -4. Click **Add Virtual Directory**. -5. In the **Alias** box, type **phpapp**. -6. In the **Physical path** box, type `c:\inetpub\phpapp` - [![Screenshot of the Add Virtual Directory dialog box. The Alias box contains the text p h p a p p. The Physical path box contains the text C colon backslash i net p u b backslash p h p a p p.](create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.jpg)](create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.jpg) - *Figure 2: Adding a virtual directory for php applications* -7. Click **OK**. -8. Using Windows Explorer, browse to the `C:\inetpub\phpapp` directory. -9. Create a file named **Hello.php**. -10. Paste the following into the file: - - [!code-xml[Main](create-a-separate-site-or-virtual-directory-for-php-content/samples/sample1.xml)] -11. Save and close the file. -12. Test the page. -13. Start **Windows® Internet Explorer®**, and then enter: **localhost/phpapp/hello.php** in the **Address** bar. - [![Screenshot of the Add Site Binding dialog box. Under Type, h t t p is chosen. Under I P address, All Unassigned is chosen. Under Port is the number eighty. Under Host name is p h p site.](create-a-separate-site-or-virtual-directory-for-php-content/_static/image4.jpg)](create-a-separate-site-or-virtual-directory-for-php-content/_static/image3.jpg) - *Figure 3: "Hello" page* -14. Close all open windows. - -## Create a Separate Site to Host PHP Content - -It is possible to create a separate site with the desired port and domain name to host the PHP application. - -1. Open **Internet Information Services (IIS) Manager** (Inetmgr.exe). -2. Expand the server node. -3. In the tree view on the left, right-click the **Sites** node, and then click **Add Web Site**. -4. Enter **PHPSite** for the **Site name**. -5. Enter `c:\inetpub\phpapp` for **Physical path**. -6. Enter **85** for **Port**. - [![Screenshot of the Add Web Site dialog box. P H P Site is written under Site name. Eighty five is written under Port. The physical path is c colon backslash i net p u b backslash p h p a p p.](create-a-separate-site-or-virtual-directory-for-php-content/_static/image6.jpg)](create-a-separate-site-or-virtual-directory-for-php-content/_static/image5.jpg) - *Figure 4: Add Web Site dialog*- Click **OK**. -7. Open **Internet Explorer**, and request `http://localhost:85/hello.php`. - [![Screenshot of the Add Virtual Directory dialog box. The physical path is c colon backslash i net p u b backslash p h p a p p.](create-a-separate-site-or-virtual-directory-for-php-content/_static/image8.jpg)](create-a-separate-site-or-virtual-directory-for-php-content/_static/image7.jpg) - *Figure 5: "Hello" page running on a Web Site* -8. Return to **IIS Manager** (Inetmgr.exe). -9. In the tree view on the left, right-click the **PHPSite**. -10. Click **Edit Bindings**. -11. Click **Add**. -12. Enter **phpsite** for the Host name. - [![Screenshot of the Add Site Binding dialog box. The host name is p h p site.](create-a-separate-site-or-virtual-directory-for-php-content/_static/image10.jpg)](create-a-separate-site-or-virtual-directory-for-php-content/_static/image9.jpg) - *Figure 6: Adding a site binding* -13. Click **OK** and close Site Bindings dialog. -14. Edit `C:\Windows\system32\drivers\etc\hosts` file in Notepad as administrator and add the following DNS entry: - - [!code-console[Main](create-a-separate-site-or-virtual-directory-for-php-content/samples/sample2.cmd)] -15. Save and close the hosts file. -16. Open **Internet Explorer**, and go to `http://phpsite/hello.php`. - [![Screenshot of the p h p site web page. The text hello is shown.](create-a-separate-site-or-virtual-directory-for-php-content/_static/image12.jpg)](create-a-separate-site-or-virtual-directory-for-php-content/_static/image11.jpg) - *Figure 7: "Hello" page running on a Web Site* -17. Close all open windows. - -Note that you can add any number of bindings to a site, to expose it on any combination of available IP addresses, ports, and domain names. - -You can also use this process to create SSL site bindings (although this also requires a valid server certificate, and may involve additional IIS configuration to properly secure an SSL site). - -*Note: This article uses material from the PHP on Windows Training Kit, published on August 25, 2009.* diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.gif b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.gif deleted file mode 100644 index 688eaae43..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.jpg deleted file mode 100644 index aa993f9b4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image10.jpg deleted file mode 100644 index 0033eae83..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image11.jpg deleted file mode 100644 index 9d9a2bb36..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image12.jpg deleted file mode 100644 index 9d9a2bb36..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.gif b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.gif deleted file mode 100644 index 688eaae43..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.jpg deleted file mode 100644 index aa993f9b4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image3.jpg deleted file mode 100644 index 0033eae83..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image4.jpg deleted file mode 100644 index 0033eae83..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image5.jpg deleted file mode 100644 index e0209f604..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image6.jpg deleted file mode 100644 index e0209f604..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image7.jpg deleted file mode 100644 index aa993f9b4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image8.jpg deleted file mode 100644 index aa993f9b4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image9.jpg deleted file mode 100644 index 0033eae83..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/samples/sample1.xml deleted file mode 100644 index 03cf745b6..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/samples/sample1.xml +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/samples/sample2.cmd deleted file mode 100644 index 7e532fcd3..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/create-a-separate-site-or-virtual-directory-for-php-content/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -127.0.0.1 phpsite \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7.md b/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7.md deleted file mode 100644 index 14596edb6..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: "Enable FastCGI Support in IIS 7 on Windows" -author: rick-anderson -description: "Introduction Internet Information Services 7 (IIS 7) and above comes with extended support for application frameworks through FastCGI, an open protocol suppo..." -ms.date: 11/15/2009 -ms.assetid: 5cedd13d-a696-4c1e-8282-7aef4e333227 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7 -msc.type: authoredcontent ---- -# Enable FastCGI Support in IIS 7 on Windows - -by Tali Smith - -## Introduction - -Internet Information Services 7 (IIS 7) and above comes with extended support for application frameworks through FastCGI, an open protocol supported by many open-source application frameworks that otherwise may not support stable and high-performance native integration with IIS.FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way for external applications to interface with Web servers that has been supported as part of the IIS feature set since the first release. - -For example, PHP traditionally runs on IIS either as an ISAPI extension or as a CGI program. CGI programs are executables launched by the Web server to output dynamic information; CGI applications run in a separate process that is created at the start of each request and terminated at the end. The "one process per request" model makes CGI programs simple to implement but can limit efficiency and scalability. ISAPI extensions execute inside the IIS worker process on multiple threads. - -FastCGI lets a single, long-running process handle multiple user requests; it retains the simplicity of the CGI programming model while eliminating much of the overhead. FastCGI addresses the performance issues inherent in CGI by providing a mechanism to reuse a single process over and over again for many requests. Additionally, FastCGI maintains compatibility with non-thread-safe libraries by providing a pool of reusable processes and ensuring that each process handles only one request at a time. - -The FastCGI module lets PHP developers get dramatically better performance, scalability, and reliability when running on Windows® operating systems. The FastCGI module also enables easy integration with the new features of IIS (such as the new output caching features) and with Microsoft® ASP.NET. - -## Before You Begin - -Windows Server® 2008 R2, Windows Server® 2008, Windows Vista®, or Windows® 7, and IIS 7 or above must be installed. - -## Enable FastCGI Support - -1. Add the CGI role service by going to **Server Manager** > **Roles** > **Add Role Services**. -2. Under **Application Development**, select the **CGI** check box. This enables both the CGI and FastCGI services (selecting CGI enables both CGI and FastCGI). - ![Screenshot of Add Role Services dialog with C G I selected under Application Development.](enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image1.png) - *Figure 1: Select Role Services page* -3. Confirm the selections on the **Confirm Installation Selection** page, and then click **Install**. -4. The **Installation Results** page shows that the installation succeeded. Click **Close**. -5. The CGI role service appears under the IIS panel. - -## Enable FastCGI Support in Windows 7 and Windows Vista SP1 - -IIS 7.0 for Windows Vista® Service Pack 1 (SP1) includes a built-in FastCGI component. (Note that IIS 7.0 included in Windows Vista without SP1 does *not* include FastCGI component.) To get FastCGI support on IIS 7.0 in Windows Vista, you must upgrade to Windows Vista SP1. - -The steps to enable FastCGI in Windows 7 are similar. - -1. Add the CGI role service by going to **Control Panel** > **Programs and Features** > **Turn Windows features on or off.** - ![Screenshot of the enabled C G I features in Programs and Features.](enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image2.jpg) - - *Figure 2: Windows Features page* - -## Install the Update for FastCGI Module - -The update for the IIS FastCGI module fixes several known compatibility issues with popular PHP applications. - -## Install the Administration Pack for IIS 7.0 and Above - -> [!NOTE] -> This step is optional. - -The [IIS 7.0 Administration Pack](https://www.iis.net/downloads/microsoft/administration-pack) adds to the set of management features that ship with IIS to include Administration UI support for ASP.NET authorization, custom errors, FastCGI configuration, request filtering, and much more. The Administration Pack also provides a generic configuration editor that is capable of setting any IIS configuration setting and automatically generating scripts to make the task easily repeatable. - -> [!NOTE] -> This article uses information from [Using FasCGI to Host PHP Applications on IIS 7.0 and Above](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md#InstallPHP) by Ruslan Yakushev, published on December 5, 2007. - -## See also - -- [Enabling FastCGI on IIS 7](https://technet.microsoft.com/library/cc753077(WS.10).aspx) -- [Setting up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md) -- [Installing FastCGI Support On Server Core](install-php-and-fastcgi-support-on-server-core.md) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image1.jpg deleted file mode 100644 index d5cdc6612..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image1.png b/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image1.png deleted file mode 100644 index 1633432a7..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image2.jpg deleted file mode 100644 index 10e0fee92..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image2.png b/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image2.png deleted file mode 100644 index 716a86bf6..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image3.jpg deleted file mode 100644 index 10e0fee92..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above.md b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above.md deleted file mode 100644 index aaa8eeb6d..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: "Enable Per-Site PHP Configuration on IIS 7 and IIS 6.0" -author: rick-anderson -description: "A common requirement when running PHP applications in shared hosting environment is per-site configuration, because each PHP application may require a differ..." -ms.date: 11/15/2009 -ms.assetid: 9b7f3737-817b-40b6-8fe8-b0e909d8ebc3 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above -msc.type: authoredcontent ---- -# Enable Per-Site PHP Configuration on IIS 7 and IIS 6.0 - -by Tali Smith - -A common requirement when running PHP applications in shared hosting environment is per-site configuration, because each PHP application may require a different set of PHP settings. Shared hosting providers often want to provide their customers with an option of controlling PHP configuration if necessary. - -With PHP 5.3 final release available, it is now simpler than before to implement per-site PHP configuration because PHP 5.3 has built-in support for per-directory INI settings and for user-defined INI files. - -This article describes per-site configuration for both PHP 5.2 and PHP 5.3. - -## Enable Per-Site PHP Configuration with PHP 5.2 on IIS 6.0 - -For example, suppose you have two Web sites in IIS 6.0, website1.com and website2.com, and you want each Web site to use its own php.ini file. Assume that php.ini for Website1.com is located in the `C:\Inetpub\website1.com` folder, and php.ini for Website2.com is located in `C:\Inetpub\website2.com` folder. - -1. Create script mappings and FastCGI configuration sections for each Web site. You can use the helper script fcgiconfig.js, located in the `%WINDIR%\system32\inetsrv\` folder. -2. Execute the following commands to create PHP script mappings for website1.com and website2.com. Make sure you replace `` with the correct path to PHP executable and `` with the correct site ID. - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample1.cmd)] -3. Open the fcgiext.ini file located in `%WINDIR%\system32\inetsrv`. It should contain the following sections: - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample2.cmd)] - - The [PHP website1.com] and [PHP website2.com] sections can be used to specify some site specific FastCGI configuration settings, such as the path to php.ini file for each of the Web sites. When it begins, the PHP process determines the location of configuration php.ini file by using various settings, such as the PHPRC environment variable. (For a detailed description of the PHP startup process, see the [PHP documentation](https://www.php.net/manual/en/configuration.php).) If the PHP process finds a php.ini file in the path specified in the PHPRC environment variable, it will use it; otherwise, the PHP process will revert to default location of php.ini. -4. Configure FastCGI to set this PHPRC environment variable to point to site-specific php.ini file with the following commands: - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample3.cmd)] -5. If you examine the fcgiext.ini file, you will see that the configuration sections have been updated: - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample4.cmd)] -6. You can now verify that PHP loads its configuration from site specific location: - - - Copy php.ini into `C:\Inetpub\website1.com` - - Create a phpinfo.php file in `C:\Inetpub\website1.com` - - Place this code inside of phpinfo.php: <?php phpinfo(); ?> - - Open web browser and make a request to `http://website1.com/phpinfo.php`. The output of phpinfo.php file will show the location from where php.ini file was loaded: - ![Screenshot of a web browser displaying the output of the P H P info dot P H P file. The Loaded Configuration File is circled.](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image1.gif) - *Figure 1 website1* - -## Enable per-Site PHP Configuration with PHP 5.2 on IIS 7 and Above - -The section describes the recommended way of enabling per-site PHP configuration. - -### Create Per-site PHP Process Pools - -To enable per-site PHP configuration, you must associate a dedicated FastCGI process pool with each Web site. A FastCGI process pool is uniquely identified by the combination of fullPath and arguments attributes. So, if you need to create several FastCGI process pools for the same process executable, such as php-cgi.exe, you can use the arguments attribute to distinguish process pools definitions. In addition, with php-cgi.exe processes, you can use the command-line switch "-d" to define an INI entry for PHP process. You can use this switch to set a PHP setting that makes the arguments string unique. - -For example, suppose you have two Web sites ("website1" and "website2") that each need their own set of PHP settings. The FastCGI process pools can be defined as follows: - -[!code-xml[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample5.xml)] - -The PHP setting **open\_basedir** is used here to distinguish between process pool definitions. In addition, it ensures that the PHP executable for each process pool can perform file operations only within the root folder of the corresponding Web site. - -PHP handler mapping for website1 is: - -[!code-xml[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample6.xml)] - -PHP handler mapping for website2 is: - -[!code-xml[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample7.xml)] - -## Specify PHP.INI Location - -When it begins, the PHP process determines the location of configuration php.ini file by using various settings, such as the PHPRC environment variable. (For a detailed description of the PHP startup process, see the [PHP documentation](http://www.php.net/manual/en/configuration.php).) If the PHP process finds a php.ini file in the path specified in the PHPRC environment variable, it will use it; otherwise, the PHP process will revert to default location of php.ini. The PHPRC environment variable can be used to allow hosting customers to use their own versions of php.ini files. - -If website1 and website2 are located at `C:\WebSites\website1` and `C:\WebSites\website2`, then the php-cgi.exe process pools in the `` section of applicationHost.config can be configured as follows: - -[!code-xml[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample8.xml)] - -Now website1 has its own version of php.ini in `C:\WebSites\website1`, while website2 has its own version of php.ini in `C:\WebSites\website2`. This configuration also ensures that if there is no php.ini found in location specified by PHPRC environment variable, then PHP will fall back to using the default php.ini file located in the folder where php-cgi.exe is located. - -## Enable Per-Site PHP Configuration with PHP 5.3 on IIS 6.0 or IIS 7 and Above - -Now, suppose you want two versions of PHP 5.3 on the two Web sites, this time in IIS 7 and above. Suppose that the PHP application at website1.com does some heavy database activity and therefore requires longer script execution time, which in PHP is controlled by the max\_execution\_time setting. The PHP application at website2.com is a photo album where visitors may upload very large image files; it therefore requires a bigger maximum allowed file upload size, which is controlled by the php.ini setting upload\_max\_filesize. - -To enable this scenario on IIS, you first need to install PHP 5.3 and configure IIS to work with it. The easiest way to do this is to use the PHP installer, which is available at the [community PHP site](http://windows.php.net/download/). Make sure to use the installer for the VC9 non-thread-safe build of PHP 5.3, and choose the "IIS FastCGI" option during the installation. Alternatively, you can follow the instructions described in the article "[Using FastCGI to Host PHP Applications on IIS 7.0 and Above](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md)" and create the FastCGI handler/script mapping at the server level, so that the mapping applies to all Web sites on the server. - -There are now two options: - -1. Define the per-site PHP settings in the main php.ini file. -2. Let Web application owners define those settings in user-defined INI files. - -## Define in the Main PHP.INI File - -1. Open the main **php.ini** file (If you used the PHP installer, then this file will most probably be located at `C:\Program Files\PHP\` folder. If you installed from a compressed [ZIP] file archive, then the file will be at the same directory where the php-cgi.exe file is located). -2. Add the following at the end of the file: - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample9.cmd)] -3. Save the php.ini file, and then recycle the application pools for these Web sites for the PHP.INI changes to take effect. -4. Use **phpinfo()** or **ini\_get("max\_execution\_time")** to check that the new settings have overwritten the default settings. Create a PHP file with the following text and save it in the Web root folder: - - [!code-xml[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample10.xml)] -5. Open the PHP script on the Web site `http://localhost/phpinfo.php`. - - ![Screenshot of a browser window displaying the P H P info page. The max execution time field and value are circled.](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image3.gif) - *Figure 2: phpinfo() page* - - This output shows that the local value of the max\_execution\_time setting (in the second column) is 300, while the master value, or default, is 30. - -## Enable the User-Defined INI files - -If you want to allow Web application owners to control PHP settings themselves, you can enable a user-defined PHP configuration. - -1. Add the following setting, which specifies the name to be used for user-specific INI files, to the main **php.ini** file. Setting this to an empty value disables the user-defined PHP configuration. - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample11.cmd)] -2. Create a file called **.user.ini** in `C:\inetpub\website1.com\` folder, and add the following: - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample12.cmd)] -3. Add the following to the file **.user.ini** in `C:\inetpub\website2.com\` folder: - - [!code-console[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample13.cmd)] - - Note that if your main php.ini file has [PATH] sections that point to the root folders of these sites, then you need to remove those sections; if you do not remove those sections, the user-defined settings will not take effect. -4. Use **phpinfo()** or **ini\_get("max\_execution\_time")** to check that the new settings have overwritten the default settings. Create a PHP file with the following text and save it in the Web root folder: - - [!code-xml[Main](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample14.xml)] -5. Open the PHP script on the Web site `http://localhost/phpinfo.php`. - - ![Screenshot of a browser window displaying the P H P info page. The upload max file size field and value are circled.](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image5.gif) - *Figure 3: phpinfo() page* - - Note also that when you enable the user-defined INI files, the settings in those files are cached by the PHP engine to avoid re-reading those files for every request. This means that if the user makes a change to .user.ini file, then that change may not take effect right away. Instead it may take effect after the cache time to live (TTL) has expired. The cache TTL value is controlled by the php.ini setting user\_ini.cache\_ttl, which is set to 300 seconds (5 minutes) by default. - - - -> [!NOTE] -> *This article combines information from [Per-site PHP configuration with PHP 5.3 and IIS](https://blogs.iis.net/ruslany/archive/2009/07/11/per-site-php-configuration-with-php-5-3-and-iis.aspx) published on July 11, 2009, [Per-site PHP configuration with IIS FastCGI](http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/) published on July 12, 2008, and [Using FastCGI to Host PHP Applications on IIS 7.0](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md#PHP_Versioning) published on June 26, 2009, all by Ruslan Yakushev.* - -## See also - -- [IIS 7 FastCGI Module Forum](https://forums.iis.net/1104.aspx) -- [PHP Community Forum](https://forums.iis.net/1102.aspx) -- [IIS Administration Pack](https://www.iis.net/downloads/microsoft/administration-pack) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image1.gif b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image1.gif deleted file mode 100644 index ece892f12..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image1.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image3.gif b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image3.gif deleted file mode 100644 index b56ecea82..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image3.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image5.gif b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image5.gif deleted file mode 100644 index 2e9187e2f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/_static/image5.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample1.cmd deleted file mode 100644 index bbcc5d93f..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -cscript fcgiconfig.js -add -section:"PHP website1.com" -extension:php -path: -site: cscript fcgiconfig.js -add -section:"PHP website2.com" -extension:php -path: -site: \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample10.xml b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample10.xml deleted file mode 100644 index c9f5eeb12..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample10.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample11.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample11.cmd deleted file mode 100644 index f04a13734..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample11.cmd +++ /dev/null @@ -1 +0,0 @@ -user_ini.filename = .user.ini \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample12.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample12.cmd deleted file mode 100644 index faa46fdf7..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample12.cmd +++ /dev/null @@ -1 +0,0 @@ -max_execution_time = 300 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample13.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample13.cmd deleted file mode 100644 index 9cadac852..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample13.cmd +++ /dev/null @@ -1 +0,0 @@ -upload_max_filesize = 12M \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample14.xml b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample14.xml deleted file mode 100644 index c9f5eeb12..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample14.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample2.cmd deleted file mode 100644 index 88e229001..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample2.cmd +++ /dev/null @@ -1,9 +0,0 @@ -[Types] -php:169297538=PHP website1.com ; The actual site id will be different for your site -php:273357939=PHP website2.com ; The actual site id will be different for your site - -[PHP website1.com] -ExePath=C:\php523nts\php-cgi.exe - -[PHP website2.com] -ExePath=C:\php523nts\php-cgi.exe \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample3.cmd deleted file mode 100644 index 8edfe7470..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -cscript fcgiconfig.js -set -section:"PHP website1.com" -EnvironmentVars:PHPRC:C:\Inetpub\website1.com cscript fcgiconfig.js -set -section:"PHP website2.com" -EnvironmentVars:PHPRC:C:\Inetpub\website1.com \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample4.cmd deleted file mode 100644 index 1c306e12f..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample4.cmd +++ /dev/null @@ -1,7 +0,0 @@ -[PHP website1.com] -ExePath=C:\php523nts\php-cgi.exe -EnvironmentVars=PHPRC:C:\Inetpub\website1.com - -[PHP website2.com] -ExePath=C:\php523nts\php-cgi.exe -EnvironmentVars=PHPRC:C:\Inetpub\website2.com \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample5.xml b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample5.xml deleted file mode 100644 index 786eb51dd..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample5.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample6.xml b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample6.xml deleted file mode 100644 index e3cc69f56..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample6.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample7.xml b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample7.xml deleted file mode 100644 index 6e43abf97..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample7.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample8.xml b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample8.xml deleted file mode 100644 index d80802e85..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample8.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample9.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample9.cmd deleted file mode 100644 index 469b0c07e..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above/samples/sample9.cmd +++ /dev/null @@ -1,6 +0,0 @@ -[PATH=C:/inetpub/website1.com/] -max_execution_time = 300 - -[PATH=C:/inetpub/website2.com/] - -upload_max_filesize = 12M \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions.md b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions.md deleted file mode 100644 index 0580b042f..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: "Enable PHP Applications to Make Application-Level Access Control Decisions" -author: rick-anderson -description: "You can expose key access control information to a PHP application to facilitate application-level access control, if desired. The Microsoft ® .NET extensibi..." -ms.date: 11/15/2009 -ms.assetid: 56ad831c-305b-46fb-aa92-71784fa1bd3a -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions -msc.type: authoredcontent ---- -# Enable PHP Applications to Make Application-Level Access Control Decisions - -by Tali Smith - -## Introduction - -You can expose key access control information to a PHP application to facilitate application-level access control, if desired. The Microsoft® .NET extensibility in Internet Information Services 7 (IIS 7) and above makes it very easy to add custom authentication or authorization features or to complement existing access control features with custom functionality. - -For example, you can: - -- Use Membership and Roles APIs to manage the use and role stores in a consistent way, regardless of the underlying provider storage. -- Provide custom credential store support for Forms Authentication by writing a custom Membership provider. -- Provide custom role store support for Role Manager by writing a custom Role provider. - -PHP can integrate with the IIS security model by executing PHP scripts while impersonating the authenticated user provided by IIS, but the authenticated user must be a Windows® user and the access control lists (ACLs) for the PHP application content must grant access for each impersonated user. The ACLs must be managed throughout the lifetime of the application and, in many cases, managed when moving the application between servers. - -With IIS and FastCGI, PHP can use an execution model that simplifies security management. The PHP scripts can be executed using the identity of the application pool to which the application belongs. This model has the following advantages: - -- The content can grant access for a single identity, the identity of the application pool. Alternatively, if you do not want application pool isolation, you can give access to the IIS\_IUSRS group, which allows all IIS application pools on any IIS machine to have access. This significantly simplifies deployment and ongoing management of the application. -- All access security can be managed at the application level using application authorization features; it can be applied uniformly to parts of the application that do not correspond to physical resources and therefore cannot have ACL-based permissions. -- No impersonation needs to take place, which may improve performance. - -Note that this security model may not be appropriate if: - -- You isolate multiple applications from each other within a single application pool, by impersonating a specific user for each. -- You secure application content by using ACLs for each user and impersonating that user to access application content. Or, you use application features or libraries that use the impersonated user to authenticate their actions. -- The application content is on a Universal Naming Convention (UNC) share, and is configured with fixed credentials for the application's virtual directories. - -IIS access control features help create flexible and manageable access control solutions for PHP applications and the PHP-specific integration that can enable PHP applications to make application-level access control decisions. - -## Configure Basic Authentication - -1. Start **IIS Manager** (Inetmgr.exe). -2. Expand the server node, and then expand the **Sites** node. -3. In the tree view on the left, click on the Web site that hosts the application you want to secure. -4. Under the **IIS** feature group, double-click **Authentication**. Here you can see the available authentication methods, which correspond to the installed authentication modules. By default, Anonymous Authentication is enabled -5. Right-click **Anonymous Authentication**, and then click **Disable**. -6. Right-click **Basic Authentication**, and then click **Enable**. - - [![Screenshot of the I I S Manager Authentication page. In the server node, Sites is expanded. In the Authentication pane under Name, Basic Authentication is selected.](enable-php-applications-to-make-application-level-access-control-decisions/_static/image2.jpg)](enable-php-applications-to-make-application-level-access-control-decisions/_static/image1.jpg) - - *Figure 1: Authentication page* -7. In the tree view on the left, click the same Web site that you clicked in Step 3. -8. In the **Actions** pane, click **Restart**. -9. Close IIS Manager. Note that only the built-in authentication schemes are visible in the Authentication feature. Third-party custom authentication schemes need to be configured separately, but the Authentication feature may still be used to disable the built-in authentication methods. - -## Configure Forms Authentication - -Basic authentication can be an insecure way of providing authentication over the Internet, because the browser sends the password in clear text. To prevent password disclosure, you should only use basic authentication over Secure Sockets Layer (SSL) connections. Basic authentication requires that the user log in with a local Windows account or a domain account stored in Windows Active Directory®. Because of this, users authenticated with basic authentication can be impersonated if desired. - -Forms Authentication is a Microsoft® ASP.NET authentication feature that can be used for any application content on IIS by taking advantage of the ASP.NET Integrated mode engine. Before using Forms Authentication, be sure that ASP.NET is installed on the server and the PHP application is using an application pool configured to run in Integrated mode (default). For many Internet sites, the ASP.NET Forms Authentication may be a better option, for the following reasons: - -- It allows the application to provide the login experience as a seamless part of the application. -- It supports arbitrary credential stores, including built-in support for Microsoft® SQL Server® databases and Windows accounts. Numerous open-source credential store providers are available, or custom ones can be provided by the application. -- It provides enhanced functionality for secure authentication ticket management. - -To configure Forms Authentication: - -1. Start **IIS Manager** (Inetmgr.exe). -2. Expand the server node, and then expand the **Sites** node. -3. In the tree view on the left, click on the Web site that hosts the application you want to secure. -4. Under the **IIS** feature group, double-click **Authentication**. -5. Right-click **Forms Authentication**, and then click **Enable**. -6. Right-click **Anonymous Authentication**, and then click **Enable**. -7. Disable all other authentication methods. Anonymous authentication is required for Forms Authentication to authenticate users requesting the login page. - - [![Screenshot of the I I S Manager. The Sites node is expanded and Access Controls Lab is selected. In the Authentication pane, Forms Authentication is selected.](enable-php-applications-to-make-application-level-access-control-decisions/_static/image4.jpg)](enable-php-applications-to-make-application-level-access-control-decisions/_static/image3.jpg) - - *Figure 2: Forms Authentication and Anonymous Authentication enabled* -8. In the tree view on the left, click on the Web site that hosts the application you want to secure. -9. Under the **IIS** feature group, double-click **Modules**. -10. Double-click the **FormsAuthentication** module, and then clear the **Invoke only for requests to ASP.NET applications or managed handlers** check box. - - [![Screenshot of the Edit Managed Module dialog box. In the Name box, Forms Authentication is written. In the Type box, System dot Web dot Security dot Forms Authentication Module is written.](enable-php-applications-to-make-application-level-access-control-decisions/_static/image6.jpg)](enable-php-applications-to-make-application-level-access-control-decisions/_static/image5.jpg) - - *Figure 3: Enabling Forms Authentication for all requests* -11. Click **OK**. This allows the Forms Authentication module to provide authentication services for all requests, regardless of the application content being requested. This enables your PHP application to take advantage of Forms Authentication. - -You can edit a number of configuration options that control the behavior of the Forms Authentication module (see docs at [https://msdn.microsoft.com/library/1d3t3c61.aspx](https://msdn.microsoft.com/library/1d3t3c61.aspx)): - -- The default login page URL. -- The timeout and automatic renewal time period for the authentication ticket. -- Whether to use cookieless (URL-based) or cookie-based authentication tickets, or auto-detect cookie support. -- Whether Forms Authentication requires SSL (recommended). -- The encryption levels of the authentication ticket. - -You can also configure the credential store for use with Forms Authentication by selecting the appropriate Membership provider. By default, you can use either the SQL Server-based Membership provider (configured to use the local SQL Server Express instance by default), or the Active Directory membership provider (configured to use the local Windows account store by default). However, you can also download and use third-party membership providers, or develop your own membership provider to work with your application's existing credential store. - -## Configure Authorization - -IIS URL Authorization is a new authorization mechanism that enables the application to create declarative authorization rules within the application itself. These rules can grant or deny access to parts of the application based on the authenticated user and the user's role memberships. The IIS URL Authorization feature is a separate feature from the ASP.NET URL Authorization feature. It is similar in functionality but supports a slightly different configuration syntax and is available even if ASP.NET is not installed. Either feature can be used to provide configuration-based user and role authorization for PHP applications. - -### Configure URL Authorization - -1. Start **IIS Manager** (Inetmgr.exe). -2. Expand the server node, and then expand the **Sites** node. -3. In the tree view on the left, click on the click on the Web site that hosts the application you want to secure. -4. Double-click **Authorization Rules**. -5. Click **Add Deny Rule**, and then select **All anonymous users**. - - [![Screenshot of the Add Deny Authentication Rule Dialog box. All Anonymous users is selected.](enable-php-applications-to-make-application-level-access-control-decisions/_static/image8.jpg)](enable-php-applications-to-make-application-level-access-control-decisions/_static/image7.jpg) - - *Figure 4: Add an authorization rule to deny anonymous users* -6. Click **OK**. -7. In the tree view on the left, click the click on the Web site that hosts the application you want to secure name. -8. In the **Actions** pane, click **Restart**. -9. Close IIS Manager. This denies access to the application for anonymous users. This causes requests to the application to be rejected, and it allows Forms Authentication to redirect users to the login page so that they may log in. - -### Configure Role-Based Authorization - -URL Authorization allows you to create Allow or Deny rules that apply to: - -- Anonymous users. -- A specific user. -- A user in one or more roles. - -Role-based rules can be a great way to manage permissions for a large group of users. - -When using roles, the role membership information is provided by the Roles module. The Roles module uses a provider model for obtaining roles for a particular user, similar to the Membership provider model. - -1. Start **IIS Manager** (Inetmgr.exe). -2. Expand the server node, and then expand the **Sites** node. -3. In the tree view on the left, click the click on the Web site that hosts the application you want to secure. -4. Under **ASP.NET**, double-click **.NET Roles**. -5. In the **Actions** pane, click **Enable**. - - [![Screenshot of the I I S Manager dot NET Roles pane. The Sites node is expanded. Access Controls Lab is selected.](enable-php-applications-to-make-application-level-access-control-decisions/_static/image10.jpg)](enable-php-applications-to-make-application-level-access-control-decisions/_static/image9.jpg) - - *Figure 5: Enable .NET roles* -6. In the **Actions** pane, click **Add**. -7. In the **Name** box, type **Admin** - - [![Screenshot of the dot Net Roles pane. The Add dot NET Role dialog box is shown. In the Name box Admin is written.](enable-php-applications-to-make-application-level-access-control-decisions/_static/image12.jpg)](enable-php-applications-to-make-application-level-access-control-decisions/_static/image11.jpg) - - *Figure 6: Add a .NET role* -8. Click **OK**. -9. In the tree view on the left, click the click on the Web site that hosts the application you want to secure. -10. Under **ASP.NET**, double-click **.NET Users**. -11. In the **Actions** pane, click **Add**. -12. Type the *user credentials*, and then click **Next**. -13. Select the **Admin** role check box to add the new user to that role. -14. Click **Finish**. -15. In the tree view on the left, click the Web click on the Web site that hosts the application you want to secure, used in step 9. -16. Under the **IIS** feature group, double-click **Modules**. -17. Double-click the **RoleManager** module, clear the **Invoke only for requests to ASP.NET applications or managed handlers** check box, and then click **OK**. -18. Double-click the **DefaultAuthentication** module, clear the **Invoke only for requests to ASP.NET applications or managed handlers** check box, and then click **OK**. -19. In the tree view on the left, click the **Admin** sub-directory under the click on the Web site that hosts the application you want to secure, used in steps 9 and 15. -20. Double-click **Authorization Rules**. -21. Remove all existing rules by clicking each rule and then clicking **Remove**. -22. In the **Confirm Remove** dialog box, click **Yes**. -23. Click **Add Allow Rule**, and then select **Specified roles or user groups**. -24. Type **admin** in the associated textbox, and then click **OK**. - - [![Screenshot of the Authorization Rules pane in I I S Manager. The Access Controls Lab node is expanded and admin is selected. In the Module and Roles columns Allow and Admin are highlighted.](enable-php-applications-to-make-application-level-access-control-decisions/_static/image14.jpg)](enable-php-applications-to-make-application-level-access-control-decisions/_static/image13.jpg) - - *Figure 7: Add allow rule for administrator role* -25. Close IIS Manager. - -## Integrating PHP with IIS 7.0 and Above - -IIS 7 and above provides rich authentication and authorization options that a PHP application can use directly, without needing to provide any custom code. However, there are times when the application needs to perform further authorization at a more granular level than a resource. Or, other times, the application may want to customize the behavior or rendering of the page based on the identity of the user. IIS makes this possible by providing the authenticated user identity information to the PHP page through server variables. - -You can use the following server variables to inspect the authenticated user and/or make decisions about the authenticated identity: - -- LOGON\_USER – the authenticated user's name. Empty if the authenticated user is anonymous. -- AUTH\_TYPE – the authentication scheme that was used to authenticate the user. diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image1.jpg deleted file mode 100644 index 514843468..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image10.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image10.jpg deleted file mode 100644 index bed06ca20..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image11.jpg deleted file mode 100644 index 3f3cf88e5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image12.jpg deleted file mode 100644 index 3f3cf88e5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image13.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image13.jpg deleted file mode 100644 index d26faa1be..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image14.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image14.jpg deleted file mode 100644 index d26faa1be..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image2.jpg deleted file mode 100644 index 514843468..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image3.jpg deleted file mode 100644 index 20374ce32..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image4.jpg deleted file mode 100644 index 20374ce32..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image5.jpg deleted file mode 100644 index e755d9ceb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image6.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image6.jpg deleted file mode 100644 index e755d9ceb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image7.jpg deleted file mode 100644 index 350c84029..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image8.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image8.jpg deleted file mode 100644 index 350c84029..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image9.jpg deleted file mode 100644 index bed06ca20..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-configure-and-optimize-the-microsoft-web-platform-for-php.md b/iis/application-frameworks/install-and-configure-php-on-iis/how-to-configure-and-optimize-the-microsoft-web-platform-for-php.md deleted file mode 100644 index 4e1b2d7bd..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-configure-and-optimize-the-microsoft-web-platform-for-php.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "How to Configure and Optimize the Microsoft Web Platform for PHP" -author: rick-anderson -description: "There are various steps you can take to optimize Windows Server ® 2008 R2 or Windows Server ® 2008, Internet Information Services 7 (IIS 7) and above, and Fa..." -ms.date: 11/15/2009 -ms.assetid: d9fd6965-0705-4b33-98cb-49e8b691a9f0 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/how-to-configure-and-optimize-the-microsoft-web-platform-for-php -msc.type: authoredcontent ---- -# How to Configure and Optimize the Microsoft Web Platform for PHP - -by Tali Smith - -There are various steps you can take to optimize Windows Server® 2008 R2 or Windows Server® 2008, Internet Information Services 7 (IIS 7) and above, and FastCGI performance for your Web workloads and PHP applications. These include: - -- [Use the Windows Cache Extension](use-the-windows-cache-extension-for-php.md). The Windows Cache Extension for PHP is a PHP accelerator that is used to significantly increase the speed of PHP applications running on the Windows® operating system. PHP applications can take advantage of the functionality provided by the Windows Cache Extension for PHP without code modifications. -- [Configure IIS 7 and Above Output Caching](../../manage/managing-performance-settings/configure-iis-7-output-caching.md). This feature can cache dynamic PHP content in memory so that the script used to generate the dynamic output does not need to run for each request.See also [Walkthrough: IIS 7.0 and Above Output Caching](../../manage/managing-performance-settings/walkthrough-iis-output-caching.md) and [Videocast: Improving Performance with Native Output Caching](../../manage/managing-performance-settings/improving-performance-with-native-output-caching.md). -- [Configure PHP Recycling Behavior](../running-php-applications-on-iis/configure-php-process-recycling-behavior.md). Make sure FastCGI always recycles the Php-cgi.exe processes before the native PHP recycling starts. -- [Enable Per-Site PHP Configuration for PHP on IIS 6.0 and IIS 7 and Above](enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above.md). This feature is particularly important in a shared hosting environment, letting customers control PHP configuration. -- [Configure SMTP E-Mail in IIS 7 and Above](configure-smtp-e-mail-in-iis-7-and-above.md). Configure Simple Mail Transfer Protocol (SMTP) e-mail in IIS when you want to deliver e-mail messages from your site. Mail can be delivered immediately or it can be delivered to a file location on disk where it can be retrieved for delivery later. -- [Create a Separate Site or Virtual Directory for PHP Content](create-a-separate-site-or-virtual-directory-for-php-content.md). Self-hosters or very small hosters may need create a separate site or virtual directory to host their PHP content on a system that is also used for other workloads. - -[Best Practices for PHP on the Microsoft Web Platform](../running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform.md) provides a summary of additional steps you can take. diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-install-the-microsoft-web-platform-for-php.md b/iis/application-frameworks/install-and-configure-php-on-iis/how-to-install-the-microsoft-web-platform-for-php.md deleted file mode 100644 index fb421f01b..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-install-the-microsoft-web-platform-for-php.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "How to Install the Microsoft Web Platform for PHP" -author: rick-anderson -description: "Introduction Microsoft embraces hosting PHP applications on the Windows ® operating system, both by building enabling technologies and by working with the PH..." -ms.date: 11/15/2009 -ms.assetid: 3deeba26-60a8-4277-a489-4acd5ae6486c -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/how-to-install-the-microsoft-web-platform-for-php -msc.type: authoredcontent ---- -# How to Install the Microsoft Web Platform for PHP - -by Tali Smith - -## Introduction - -Microsoft embraces hosting PHP applications on the Windows® operating system, both by building enabling technologies and by working with the PHP community to ensure that popular PHP applications run performantly on the Windows operating system. Customers appreciate the convenience and familiarity of the Windows operating system to run PHP applications. The capabilities built into Windows Server® 2008, such as Internet Information Services 7 (IIS 7) and above and FastCGI, make seamless operation of PHP applications possible. With the advent of the SQL Server Connector for PHP, users can add Microsoft® SQL Server® 2008 to the stack if they desire, providing a top-to-bottom solution for PHP applications based on Microsoft® technology. - -The Microsoft® Web Platform provides advantages for PHP hosters, Web farm managers, self-hosters, server administrators, PHP application developers, and many others. PHP hosters can refer to the [Shared Hosting Guidance Content Map](../../web-hosting/getting-started/shared-hosting-content-map.md) for a wealth of articles and videos, including [Shared Hoster Configuration](../../web-hosting/planning-the-web-hosting-architecture/shared-hosting-configuration.md) and [Configuring a Web Farm Using IIS Shared Configuration](../../manage/managing-your-configuration-settings/configuring-a-web-farm-using-iis-shared-configuration.md). - -To host PHP applications on the Microsoft® Web Platform, you must first set up the platform component. - -## Install the Operating System - -At the base of the Microsoft Web Platform is Windows Server 2008, Windows Server® 2008 R2, or another Windows Server® operating system version. - -- [Install Windows Server 2008 and Windows Server 2008 R2](../../install/installing-iis-7/install-windows-server-2008-and-windows-server-2008-r2.md) - -## Install the Microsoft Web Platform Manually - -It is possible to install IIS, PHP, and a database manually. - -1. **Install and configure IIS.** IIS is the Web server role in the Windows Server operating systems. The following articles provide guidance in installing IIS: - - - [Install IIS 7 and Above on Windows Server 2008 or Windows Server 2008 R2](../../install/installing-iis-7/installing-iis-7-and-above-on-windows-server-2008-or-windows-server-2008-r2.md). - - [Install IIS 7 and Above on Windows Vista® and Windows® 7](../../install/installing-iis-7/installing-iis-on-windows-vista-and-windows-7.md). - - [Install and Configure IIS 7 and Above on Server Core](../../install/installing-iis-7/install-and-configure-iis-on-server-core.md). -2. **Install and configure PHP.** - - The following articles provide guidance on installing PHP: - - - [Install and Configure PHP](install-and-configure-php.md). - - [Install PHP and FastCGI Support on Server Core](install-php-and-fastcgi-support-on-server-core.md). -3. **Enable FastCGI support.** FastCGI is an open protocol supported by many open-source application frameworks that otherwise may not support stable and high-performance native integration with IIS. The following articles provide guidance in enabling FastCGI: - - - [Enable FastCGI Support in IIS 7 and Above on Windows Server 2008, Windows Server 2008 R2. Windows Vista, or Windows 7](enable-fastcgi-support-in-iis-7-on-windows-server-2008-windows-server-2008-r2-windows-vista-or-windows-7.md). - - [Install PHP and FastCGI Support on Server Core](install-php-and-fastcgi-support-on-server-core.md). - - [Configure the FastCGI Extension for IIS 6.0](configuring-the-fastcgi-extension-for-iis-60.md). - - [Videocast: Set Up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md). -4. **Install a database.** You can use either MySQL or SQL Server in the Microsoft Web Platform. - - - [Install and Configure MySQL for PHP Applications on IIS 7 and Above](install-and-configure-mysql-for-php-applications-on-iis-7-and-above.md). - - [Install and Configure SQL Server for PHP Applications on IIS 7 and Above](install-and-configure-sql-server-2008-for-php-applications-on-iis-7-and-above.md). - -You are now ready to configure and optimize the Microsoft Web Platform. diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-manage-and-administer-the-microsoft-web-platform.md b/iis/application-frameworks/install-and-configure-php-on-iis/how-to-manage-and-administer-the-microsoft-web-platform.md deleted file mode 100644 index ee34cb446..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-manage-and-administer-the-microsoft-web-platform.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "How to Manage and Administer the Microsoft Web Platform" -author: rick-anderson -description: "The following articles provide guidance in managing and administering the Microsoft® Web Platform. Create a Web Site. This article provides guidance for cre..." -ms.date: 11/15/2009 -ms.assetid: 0de263a3-9995-4937-aeaa-141b0692c914 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/how-to-manage-and-administer-the-microsoft-web-platform -msc.type: authoredcontent ---- -# How to Manage and Administer the Microsoft Web Platform - -by Tali Smith - -The following articles provide guidance in managing and administering the Microsoft® Web Platform. - -- [Create a Web Site](../../get-started/getting-started-with-iis/create-a-web-site.md). This article provides guidance for creating Web sites. -- [Select a Provisioning Option](../../manage/creating-websites/select-a-provisioning-option.md). This article provides guidance for provisioning Web sites for both IT administrators and the software developers. -- [Improve Error Messages in PHP](improve-php-error-messages-in-iis-7-and-above.md). This article describes how you can use Internet Information Services (IIS) for more descriptive error messages. -- [Use the Application Warm-Up Module](../../manage/index.md). This article describes how you can improve the responsiveness of your Web sites by proactively loading and initializing all the dependencies. -- [Run Multiple Versions of PHP on IIS](run-multiple-versions-of-php-on-iis.md). This article describes how you can run multiple versions of PHP side by side, which can be very useful in certain scenarios. -- [Use Bit Rate Throttling](../../manage/managing-performance-settings/use-bit-rate-throttling.md). This extension provides lets you throttle progressive downloads of media files based on the content bit rate. For sites that deliver audio and video files that may not be watched in their entirety, this extension can significantly reduce your media-related bandwidth costs. -- [Troubleshoot with Failed Request Tracing](../../troubleshoot/using-failed-request-tracing/troubleshoot-with-failed-request-tracing.md). Failed Request Tracing lets you create failure definitions that automatically capture detailed execution traces of certain requests. See also [Troubleshooting Failed Requests Using Tracing in IIS 7.0 and Above](../../troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis.md) and [Using Failed Request Tracing to Trace Rewrite Rules](../../extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules.md). - -The Web Deployment Tool (WDT) and the Database Manager are particularly helpful in managing and administering the Microsoft Web Platform. - -- [Use the Web Deployment Tool](../../publish/using-web-deploy/use-the-web-deployment-tool.md). The WDT simplifies the migration, management, and deployment of Internet Information Services (IIS) Web servers, Web applications, and Web sites. See [Web Deployment Tool](../../publish/deploying-application-packages/index.md) for detailed infrmation on all aspects of the WDT. -- [Use the Database Manager](../../extensions/database-manager/use-the-database-manager.md). Database Manager is a new IIS module specifically designed for the management of databases located in hosting environments. See [Using the IIS Database Manager](../../extensions/database-manager/index.md) for detailed information. diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-secure-the-microsoft-web-platform.md b/iis/application-frameworks/install-and-configure-php-on-iis/how-to-secure-the-microsoft-web-platform.md deleted file mode 100644 index 067cfea09..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/how-to-secure-the-microsoft-web-platform.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: How to Secure the Microsoft Web Platform -author: rick-anderson -description: Describes how to secure the Microsoft Web Platform and links to other articles that provide full guidance. -ms.date: 11/15/2009 -ms.assetid: d4dd559d-5b26-4da8-a639-184b8742b2d2 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/how-to-secure-the-microsoft-web-platform -msc.type: authoredcontent ---- -# How to Secure the Microsoft Web Platform - -by Tali Smith - -Security is always a consideration; it is critical to make careful security considerations when you implement and maintain your Web sites, infrastructure, and applications. Internet Information Services 7 (IIS 7) and above offers many ways to [configure security](../../manage/configuring-security/index.md), including [dynamic IP restrictions](../../manage/configuring-security/using-dynamic-ip-restrictions.md), [application pool identities](../../manage/configuring-security/application-pool-identities.md), and [Secure Sockets Layer (SSL)](../../manage/configuring-security/how-to-set-up-ssl-on-iis.md). IIS also provides a comprehensive set of authentication and authorization features that can be used to create the desired access control scheme for PHP applications without writing any custom code. You can use features such as Forms Authentication, Role Manager, and URL Authorization to quickly deploy access control solutions that are easily manageable through IIS Manager and other tools. - -The following articles provide guidance: - -- [Secure Your Infrastructure and Applications](secure-your-infrastructure-and-php-applications.md). This article provides an overview of techniques to secure PHP on IIS. -- [Secure Content in IIS Through File System ACLs](../../get-started/planning-for-security/secure-content-in-iis-through-file-system-acls.md). This article, provides guidance for using access control lists (ACLs) to secure content. -- [Secure Content in IIS Through Impersonation](secure-content-in-iis-through-impersonation.md). This article describes how to use impersonation to help secure content. -- [Set ACLs Through the Manifest.xml File](../../get-started/planning-for-security/set-acls-through-the-manifestxml-file.md). While hosters typically use the command line to set ACLs, it is also possible to use the Manifest.xml file. -- [Secure Your SQL Server Database](secure-your-sql-server-database.md). If you use Microsoft® SQL Server® as your database, you must create and implement an effective security plan. This article touches on a few areas of particular interest to Web hosters. -- [Ensure Security Isolation for Web Sites](../../manage/configuring-security/ensure-security-isolation-for-web-sites.md). The recommendation for isolating PHP Web sites in a shared hosting environment is consistent with all general security isolation recommendations for IIS. Isolating Web sites is particularly important in a shared hosting environment. -- [Use Request Filtering](../../manage/configuring-security/use-request-filtering.md). Request filtering is designed and optimized for security scenarios. -- [Secure PHP with Configuration Settings](secure-php-with-configuration-settings.md). You can configure PHP settings to tighten the security of a PHP installation; this article recommends settings you can use. -- [Enable PHP Applications to Make Application-Level Access Control Decisions](enable-php-applications-to-make-application-level-access-control-decisions.md). You can expose key access control information to a PHP application to facilitate application-level access control. diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above.md b/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above.md deleted file mode 100644 index 05eee2baf..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Improve PHP Error Messages in IIS 7" -author: rick-anderson -description: "PHP errors often do not provide sufficient detail to help diagnose errors that occur within the framework. These include basic errors such as 404 Not Found...." -ms.date: 11/15/2009 -ms.assetid: 81876084-11f4-4d05-b394-ab9df10064e6 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above -msc.type: authoredcontent ---- -# Improve PHP Error Messages in IIS 7 - -by Tali Smith - -PHP errors often do not provide sufficient detail to help diagnose errors that occur within the framework. These include basic errors such as 404 Not Found. Because of this, the default "detailed error" experience for PHP applications may be ineffective for troubleshooting basic errors. - -Internet Information Services (IIS) improves PHP error handling by intercepting common error conditions and providing redirection for common HTTP status codes. - -By default, IIS is configured to return detailed error messages to local clients and to return generic error messages to remote clients. This is done to allow effective troubleshooting locally, while protecting production applications from disclosing sensitive details to remote clients when errors occur. - -IIS generates very detailed error messages for most errors. These contain, at minimum, information about the request and the error, including which module generated the error and during which part of the request processing. For errors caused by IIS and its built-in modules, the errors also contain likely resolutions. This dramatically simplifies the troubleshooting process for most errors. - -This article, based on the hands-on labs in the PHP on Windows Training Kit, describes how IIS takes care of basic errors handling and how IIS diagnoses application-level errors by enabling PHP error messages. - -## Basic Error Handling - -IIS improves PHP error handling by intercepting common error conditions and providing redirection for common HTTP status codes. - -Note that IIS also support error messages generated by application frameworks, which often offer application-specific information to help diagnose application errors. For example, Microsoft® ASP.NET takes advantage of this to provide detailed exception stack traces and other information. - -If you request the page `http://localhost:84/notfound.php` from Windows® Internet Explorer®, you get a default "Not Found" error—a non-descriptive 404 error page. - -![Screenshot of a browser window with a non-descriptive 404 error message displayed.](improve-php-error-messages-in-iis-7-and-above/_static/image1.jpg) -*Figure 1: A non-descriptive 404 error message* - -The default IIS "Not Found" error message provides useful information to help diagnose the error condition; it correctly identifies the error and suggests solutions for most common error conditions by providing information such as the source (module, notification) of the error and background information such as the URL, mapped physical path, and the authentication method being used. For example: - -- Response information: HTTP 404 Not Found. -- Detailed error information: The module (IIS Web Core), the Notification (MapRequestHandler), the handler (StaticFileHandler), and the error code (0x80070002 – File Not Found). -- Request information: The requested URL and the physical path `C:\inetpub\troubleshootingPhp\notfound.txt`. -- The "Most likely causes" section correctly suggests the most likely error cause to be: "The directory or file specified does not exist on the Web server". -- The "Things you can try" section suggests the corresponding solution: "Create the content on the Web server". - -![Screenshot of a browser window displaying a detailed 404 error message.](improve-php-error-messages-in-iis-7-and-above/_static/image3.jpg) -*Figure 2: Detailed 404 error message* - -You can also get IIS detailed errors for some PHP errors by configuring IIS to perform some additional validation of PHP requests. - -To configure IIS to provide additional validation of PHP requests, use the following steps: - -1. Switch to the **IIS Manager**. If it is closed, click **Start**,and then select **Internet Information Services (IIS) Manager**. -2. In the tree view on the left, click the server node. -3. Under **IIS**, double-click **Handler Mappings** to edit the PHP handler mapping. -4. Right-click the **PHP via FastCGI** entry, and then click **Edit**. -5. Click **Request Restrictions**. -6. Select the **Invoke handler only if request is mapped to** check box. -7. Leave the **File** option button selected. -8. Click **OK** twice. -9. Click **Yes** in the **Edit Module Mapping** dialog box. -10. To test, trigger a "Not Found" condition again to verify that the PHP 404 error is now handled by IIS, providing more detail. Using **Internet Explorer**, request `http://localhost:84/notfound.php` (this page does not exist). -11. You receive an IIS detailed error indicating that the Notfound.php page was not found on the server. - - An IIS 401.3 Unauthorized detailed error also provides information; it indicates that the request does not have the permission to view the page due to access control list (ACL) configuration and provides an extensive explanation of how to resolve this issue. - - ![Screenshot of a browswer window with an unauthorized detailed error displayed.](improve-php-error-messages-in-iis-7-and-above/_static/image5.jpg) - *Figure 3: An Access Denied error* - -## Enable PHP Error Messages to Diagnose Application-Level Errors - -Configuring IIS to validate requests causes IIS to attempt to open the PHP script file corresponding to the request URL and generates detailed error messages for any conditions that preclude this. This typically includes: - -- File not found -- Access denied due to incorrect permissions -- Access denied due to insufficient authentication -- For most other error conditions, especially those that occur at the application level, IIS detailed error messages do not contain sufficient information to help diagnose the error effectively. - -The biggest examples of such errors are script parsing and script interpretation errors. While you can force IIS detailed error messages for these errors, this typically does not provide any value in diagnosing the root cause of the error. In these cases, you must rely on the information provided by PHP to diagnose these errors. - -By default, PHP is not configured to display these errors to the response to prevent disclosure of sensitive information. - -Notethat for local debugging, you can enable PHP error display to diagnose PHP errors while debugging. Consider disabling PHP error display for production applications. - -If you request a page with a script error, you receive the IIS detailed error message. This happens because by default PHP does not generate a response with the error details, so IIS inserts its generic "500 Server Error" detailed error. While this error correctly suggests that PHP has returned a 500 error code, it does not provide application-specific information about what caused the error. - -You can configure PHP to display errors in responses. - -1. Using **Windows® Explorer**, browse to `C:\PHP`. -2. Open the **Php.ini** filein the PHP installation directory. -3. Find and set the **display\_errors = On** directive: - - [!code-xml[Main](improve-php-error-messages-in-iis-7-and-above/samples/sample1.xml)] -4. Save and close the file. -5. Reset IIS. Click **Start**,and then select **Command Prompt**, right click and select **Run** **as administrator** to open a command-line window. -6. Type **iisreset.exe** -7. Press **Enter**. - -If you request a page with a script error now, you get a PHP parse error: - -[!code-xml[Main](improve-php-error-messages-in-iis-7-and-above/samples/sample2.xml)] - -If you see only the default Internet Explorer HTTP 500 Internal Server Error page, you must disable friendly error messages. Within Internet Explorer Go to **Tools**, **Internet Options**, **Advanced** tab, and then clear the **Show friendly HTTP error messages** check box. - -Note that PHP also provides options for customizing default error handling or completely overriding it. - -*Note: This article uses material from the PHP on Windows Training Kit, published on August 25, 2009.* - -## See also - -- [PHP: Error Handling and Logging](http://www.php.net/errorfunc) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image1.jpg deleted file mode 100644 index b98bae2e5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image3.jpg deleted file mode 100644 index aac278c7c..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image5.jpg deleted file mode 100644 index 849dd0f4f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/samples/sample1.xml deleted file mode 100644 index 622f920cc..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/samples/sample1.xml +++ /dev/null @@ -1,19 +0,0 @@ -<< -; Print out errors (as a part of the output). For production web sites, -; you're strongly encouraged to turn this feature off, and use error logging -; instead (see below). Keeping display_errors enabled on a production web site -; may reveal security information to end users, such as file paths on your Web -; server, your database schema or other information. -; -; possible values for display_errors: -; -; Off - Do not display any errors ; stderr - Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout - Display errors to STDOUT (default) -; -; To output errors to STDERR with CGI/CLI: -; display_errors = "stderr" -; -; Default -; -display_errors = On ->> \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/samples/sample2.xml b/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/samples/sample2.xml deleted file mode 100644 index d404c4ff4..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above/samples/sample2.xml +++ /dev/null @@ -1,3 +0,0 @@ -<< - -Parse error: parse error in C:\inetpub\troubleshootingPhp\error.php on line 3 >> \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above.md b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above.md deleted file mode 100644 index 51ec00d91..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: "Install and Configure MySQL for PHP Applications on IIS 7" -author: ruslany -description: "While Microsoft ® SQL Server ® 2008 is the recommended database to use when hosting PHP applications on an Internet Information Services 7 (IIS 7) and above..." -ms.date: 02/14/2008 -ms.assetid: c65623d5-5bf5-4bed-8dbc-87245bb621bc -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above -msc.type: authoredcontent ---- -# Install and Configure MySQL for PHP Applications on IIS 7 - -by [Ruslan Yakushev](https://github.com/ruslany) - -## Introduction - -While Microsoft® SQL Server® 2008 is the recommended database to use when hosting PHP applications on an Internet Information Services 7 (IIS 7) and above Web server, you can also use MySQL as the database. Currently, many popular PHP applications use MySQL Server for data storage. Using MySQL requires hosting providers to include MySQL database support with the hosting packages. - -MySQL cannot currently be installed with the Microsoft® Web Platform Installer (Web PI). This article provides guidance for installing MySQL manually. - -## Install MySQL Server on Windows Server 2008 or Windows Server 2008 R2 - -It is recommended that you install MySQL on a dedicated server rather than installing MySQL on the same server that is running IIS. The separation of database server and Web server makes overall installation more secure and manageable and avoids resource contentions between the database and Web server processes. - -1. Download **[MySQL Community Server](https://dev.mysql.com/downloads/)**. We recommend downloading Windows® Installer. -2. Start **Windows Installer**, or extract all the files from the archive, and then start **Setup.exe**. -3. You can use a **Typical Setup** or customize the installation to suit your needs. -4. Once the installation wizard is completed, it is recommended that you leave the **Configure the MySQL Server now** check box selected. - -## Configure a MySQL Instance - -1. Run the **MySQL Server Instance Configuration Wizard**, and then choose the configurations options that most closely match your environment. - For more information, see the [Server Instance Configuration Wizard](https://dev.mysql.com/doc/workbench/en/wb-mysql-connections-server-management-wizard.html). - Best practice recommendations are as follows: - - - Click **Next** in the **Instance Configuration Wizard**. - - Select **Detailed Configuration**, and then click **Next**. - - Select a server type that best suits your environment. It is recommended to set up a separate MySQL server; when prompted to select a server type, select **Dedicated MySQL Server Machine**, and then click **Next**. - - Select a database option, and then click **Next**. - - - Select either the **Multifunctional Database** or **Transactional Database Only** options if you are using the InnoDB storage engine or the high-speed MyISAM storage engine (for example, if the Web applications on your server require multi-statement transactions, advanced isolation levels and row-level locking, foreign key constraints, or atomic, consistent, isolated, and durable [ACID] features). These options provides fully ACID transactional capabilities, but at the cost of more aggressive usage of disk space and memory. - - Otherwise, use the **Non-Transactional Database Only** option, which is optimized for high-performance SELECT operations. It has low overhead, in terms of memory usage and disk utilization, but at the cost of not supporting transactions. - - Choose the option that sets the number of concurrent connections you need. - - > [!NOTE] - > Connections require memory; if the number you choose is too big, your server may not have enough memory. - - You may adjust networking settings to suit your environment or accept defaults, and then click **Next**. - - Select the default character set that best suits you, and then click **Next**. - - We recommend enabling both Windows options here. Select both check boxes, and then click **Next**. - - Type the *password* you want to use for the root account, and then click **Next**. - - Click **Execute** to apply your settings. - - Click **Finish** to close the wizard. - -- For PHP to work with MySQL, it is necessary to perform the following modifications to the **Php.ini** file: - - - Confirm that the **extension\_dir** points to the folder where all PHP loadable extensions are located, frequently in the Ext folder (for example, extension\_dir=".\ext"). - - Enable dynamic extension for MySQL by uncommenting the corresponding line for the MySQL extension: **extension=php\_mysql.dll** - - c. Save and close the **Php.ini** file. - -### Secure MySQL - -1. Remove the anonymous database account (if it exists). Open the MySQL command prompt by clicking **Start -> All Programs -> MySQL -> MySQL Server 5.1 -> MySQL Command Line Client**: -2. Enter the *password* for the root account. -3. Once logged on to MySQL, use the following sequence of commands: - - [!code-sql[Main](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample1.sql)] -4. Next, restrict the root account to log on only from localhost. Open a MySQL command prompt, and use the following sequence of commands: - - [!code-sql[Main](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample2.sql)] -5. Change the name of the root user with the following sequence of commands from the command prompt: - - [!code-sql[Main](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample3.sql)] - -## Provision the User and Database - -1. To provision a new user, type the following command from the MySQL command prompt: - - [!code-console[Main](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample4.cmd)] -2. The newly created user does not have any privileges on the MySQL server by default. To create a new database, type the following command: - - [!code-console[Main](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample5.cmd)] -3. To grant access to this database for a particular user, type the following command: - - [!code-console[Main](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample6.cmd)] - -## Configure PHP to Access MySQL - -1. Open the `c:\php\php.ini` file with your favorite text editor. -2. Uncomment the following lines by removing the semicolon: - - [!code-console[Main](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample7.cmd)] -3. Restart the IIS service by clicking on **Start**, selecting the **Search Field**, typing **iisreset**, and then pressing ENTER. -4. If all went well, you should see the **mysqli** section on the PHP information page created earlier `http://localhost/phpinfo.php`. - - ![Table listing Mysqli version information.](install-and-configure-mysql-for-php-applications-on-iis-7-and-above/_static/image1.jpg) - - *Figure 1: The mysqli section on the PHP information page* - -## Best Practices for MySQL - -- **Enable TCP/IP Networking** — This is the default. Keep the TCP port that MySQL uses to listen at 3306. If the database will be running on a separate system from the Web server, select the **Add firewall exception for this port** check box. -- **Include Bin Directory in Windows PATH** — This makes the MySQL utilities available from the command prompt or from Windows PowerShell™. -- **Create an Anonymous Account** — The default is to keep this disabled. Adding anonymous user support may create a security risk for the database; additionally, enabling anonymous users causes the GRANT statements used to set up database to be unreliable. - -## See also - -- [MySQL Server Web site](https://dev.mysql.com/doc/) -- [Using the MySQL Installation Wizard](https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/) -- [Installing MySQL from a Noinstall Zip Archive](https://dev.mysql.com/doc/refman/5.0/en/windows-install-archive.html) -- [MySQL Windows Installation](https://dev.mysql.com/doc/refman/5.0/en/windows-installation.html) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/_static/image1.jpg deleted file mode 100644 index f182b5b46..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/_static/image2.jpg deleted file mode 100644 index f182b5b46..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample1.sql b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample1.sql deleted file mode 100644 index da64d881a..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample1.sql +++ /dev/null @@ -1,6 +0,0 @@ -mysql> use mysql; -Database changed -mysql> DELETE FROM user WHERE user = ''; -Query OK, 2 rows affected (0.03 sec) -mysql> FLUSH PRIVILEGES; -Query OK, 0 rows affected (0.05 sec) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample2.sql b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample2.sql deleted file mode 100644 index 8fa5a190f..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample2.sql +++ /dev/null @@ -1,6 +0,0 @@ -mysql> use mysql; -Database changed -mysql> DELETE FROM user WHERE user = 'root' AND host = '%'; -Query OK, 2 rows affected (0.03 sec) -mysql> FLUSH PRIVILEGES; -Query OK, 0 rows affected (0.05 sec) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample3.sql b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample3.sql deleted file mode 100644 index 0a1f892d9..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample3.sql +++ /dev/null @@ -1,7 +0,0 @@ -mysql> USE mysql; -Database changed -mysql> UPDATE user SET user='johndoe' WHERE user='root'; -Query OK, 1 row affected (0.19 sec) -Rows matched: 1 Changed: 1 Warnings: 0 -mysql> FLUSH PRIVILEGES; -Query OK, 0 rows affected (0.23 sec) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample4.cmd deleted file mode 100644 index 0b2495f8d..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample4.cmd +++ /dev/null @@ -1,2 +0,0 @@ -mysql>CREATE USER ‘some_username’ IDENTIFIED BY ‘some_password’; -Query OK, 0 rows affected (0.00 sec) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample5.cmd deleted file mode 100644 index c1c1b8b71..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample5.cmd +++ /dev/null @@ -1,2 +0,0 @@ -mysql>CREATE DATABASE IF NOT EXISTS some_database_name; -Query OK, 1 row affected (0.00 sec) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample6.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample6.cmd deleted file mode 100644 index e7aaea930..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample6.cmd +++ /dev/null @@ -1,16 +0,0 @@ -mysql> GRANT ALTER, - -> ALTER ROUTINE, - -> CREATE, - -> CREATE ROUTINE, - -> CREATE TEMPORARY TABLES, - -> CREATE VIEW, - -> DELETE, - -> DROP, - -> EXECUTE, - -> INDEX, - -> INSERT, - -> LOCK TABLES, - -> SELECT, - -> UPDATE, - -> SHOW VIEW - ON some_database_name.* TO 'some_username'; \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample7.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample7.cmd deleted file mode 100644 index 9e008b3d8..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above/samples/sample7.cmd +++ /dev/null @@ -1,3 +0,0 @@ -extension=php_mysqli.dll -extension=php_mbstring.dll -extension=php_mcrypt.dll \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php.md b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php.md deleted file mode 100644 index baeaaa40e..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -title: "Install and Configure PHP" -author: rick-anderson -description: "Introduction The fastest and easiest way to install PHP on Internet Information Services (IIS) is by using the Microsoft ® Web Platform Installer (Web PI). W..." -ms.date: 11/15/2009 -ms.assetid: 2fbe0165-17a4-4cad-9bb8-ee04d7f118f3 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php -msc.type: authoredcontent ---- -# Install and Configure PHP - -by Tali Smith - -The fastest and easiest way to install PHP on Internet Information Services (IIS) is by using the Microsoft® Web Platform Installer (Web PI). Web PI completely automates setting up IIS, FastCGI, and the latest version of PHP from the php.net Web site. With Web PI, you can navigate to the "Web Platform" tab and select "PHP" under "Framework and Runtimes" customize link. Alternately, use the instructions that follow as guidance for installing PHP with Windows® Installer or using a compressed (Zip) file installation. - -There are two builds for each PHP version: one is thread-safe, and one is not (referred to as the non-thread-safe [NTS] version). The thread-safe version is designed for environments where the Web server core can keep the PHP engine in memory, running multiple treads of execution for different Web requests simultaneously. The architecture of IIS and the FastCGI extension provide an isolation model that keeps requests separate, removing the need for a thread-safe version. The NTS version does not have any of the code that allows PHP to manage multiple threads. As a result, there is a performance improvement on IIS when using the NTS version when compared to the tread-safe version because the NTS version avoids unnecessary thread-safety checks (FastCGI ensures a single-threaded execution environment). - -## Install PHP - -There are two main ways to install PHP on a Windows®-based computer: download the Windows Installer or use the Windows Zip file from the [PHP Web site](https://www.php.net/downloads.php). Either method will get PHP working, but both have some extra steps that are needed to make PHP work well. - -### Windows Installer - -The Windows Installer version can get a complete PHP environment up and running, but the installation of extensions can be confusing. By default, no extensions are installed, and this can adversely affect the usefulness of the PHP installation. Alternately, all of the extensions can be installed; this results in an unstable system because some of the extensions can conflict with others. It is generally easier to use the Zip file installation. - -### Zip File Installation - -To use the Zip file installation, follow the instructions in [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md). The Zip file installation installs many of the extensions that are available for the Windows Installer version; however, none of the extensions are enabled until their entries in the Php.ini file are set up. - -1. Download the [latest non-thread-safe Zip file package](https://www.php.net/downloads.php) with binaries of PHP. Under **Windows Binaries**, click on the most current PHP non-thread-safe Zip package to download the PHP files. -2. Unpack the files to a directory of your choice (for example, `C:\PHP`) on your IIS server. -3. Rename the **Php.ini-recommended** to **php.ini**. -4. Open the **Php.ini** file in a text editor, then uncomment and modify settings as follows: - - - Set **fastcgi.impersonate = 1**. - FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under. - - Set **cgi.fix\_pathinfo = 0** - The **cgi.fix\_pathinfo** provides **PATH\_INFO/PATH\_TRANSLATED** support for Common Gateway Interface (CGI). Setting this to 1 will cause PHP CGI to fix its paths to conform to the specification. - - Set **cgi.force\_redirect = 0**. - - Set **open\_basedir** to point to a folder or network path where the content of the Web site(s) is located. - - Set **extension\_dir** to point to a location where PHP extensions reside. For PHP 5.2.X, this is typically **extension\_dir = "./ext"**. - - Set **error\_log="C:php\_errors.log"** - This can help with troubleshooting. - - Enable the required PHP extension by un-commenting corresponding lines. More information follows in the section, [Extensions](#Extensions_1). - - ![Screenshot of the Extensions text file contents.](install-and-configure-php/_static/image1.jpg) - *Figure 1 Windows extensions* -5. Click on **Start**, **Settings**, **Control Panel**, and then double-click on the **System** icon (using the class view). -6. Click on the **Advanced system settings** link in the left column. -7. From the **System Properties** window, click on the **Advanced** tab, and then click on the **Environment Variables** button at the bottom. -8. Select the **Path** variable from the **System Variables** section, and then click on **Edit**. Add: `c:\php` to your system path. - - ![Screenshot of the Edit System Variable dialog. Path is highlighted.](install-and-configure-php/_static/image3.jpg) - *Figure 2: Edit System Variable* -9. Click **OK** until you have exited the System Properties window. -10. Start IIS Manager by clicking on **Start**, **Programs**, **Administrative Tools**, and then **Internet Information Services (IIS) Manager**. -11. From the **IIS Manager**, click on the *hostname* of your server in the **Connections** panel on the left. -12. Double-click on the **Handler Mappings** icon. - - ![Screenshot of a browser window with I I S Manager in a tab. An arrow points to the Handler Mapping icon.](install-and-configure-php/_static/image5.jpg) - *Figure 3: Internet Information Services (IIS) Manager* -13. From the **Handler Mappings** **Actions** panel, click on **Add Module Mapping**. - - ![Screenshot of the I I S Manager screen. Handler Mappings are shown in the main pane and an arrow points to the Actions pane.](install-and-configure-php/_static/image7.jpg) - *Figure 4: Handler Mappings* -14. Type the following information into the appropriate text boxes, and then click **OK**. - - - Request path: **\*.php** - - Module **: FastCGImodule** - - Executable: **C:\php\php-cgi.exe** - - Name: **FastCGI** - - ![Screenshot of the Add Module Mapping dialog.](install-and-configure-php/_static/image1.gif) - - *Figure 5: Add Script Map* -15. Click **OK**, and then click **Yes.** -16. In the left panel, click on your server's *hostname*, and then double-click on the **Default Document** icon. -17. From the **Actions** panel on the right, click **Add**. -18. Enter **index.php** as the new default document name, and then click **OK**. -19. Enter **default.php** as the new default document name, and then click **OK**. -20. In the left panel, click on your server's *hostname*. -21. In the **Actions** panel on the right, click **Restart**. -22. Create a new text document, and save it as `c:\inetpub\wwwroot\phpinfo.php` with the following content: - - [!code-xml[Main](install-and-configure-php/samples/sample1.xml)] -23. You should now see the PHP information page at `http://localhost/phpinfo.php`. - - ![Screenshot of the P H P information page.](install-and-configure-php/_static/image9.jpg) - *Figure 6: PHP information page* - - - -## Extensions - -It is important to determine which extensions are needed by the applications that will be running and then to limit the installed extensions to only those. For a typical open-source application installation, for example, the following extensions are installed: - -- **Database Extensions** — Most open-source applications that use MySQL for a database engine use either the *php\_mysql* or the *php\_mysqli* extensions. For new development work, either of these extensions work well, or consider using the PDO versions of the MySQL driver (PDO is a PHP extension providing a data-access abstraction layer that can be used with a variety of databases); this extra layer of abstraction provides a richer set of object database functionality and controls. If Microsoft® SQL Server® (or an express version, such as Microsoft® SQL Server® 2008 Express or Microsoft® SQL Server® 2005 Express Edition) is the database engine, use the *php\_mssql* extension for open-source applications. For new development work, use the PDO version of the SQL driver. -- **Image Handling Extensions** — Many of the open-source applications that enable work with images make use of the GD2 extension – *php\_gd2*, which has a number of good basic image manipulation application programming interfaces (APIs). Some applications use the [ImageMagick application and libraries](http://www.imagemagick.org/script/index.php). There is also a *php\_exif* library for working with the extended information that modern digital cameras store within the images. -- **Internationalization and Localization Extensions** &mdash- The two most commonly used extensions for i18n and l10n are *php\_mbstring* (Multi-Byte String) and *php\_gettext* (Native Language Support). Many of the open-source applications use one or both of these. -- **Web Services Extensions** — Choose the Web services extensions based on the services desired. For PHP, the SOAP extension is widely used. The XML-RPC extension is often used in conjunction with SOAP and other services. - -## PHP.INI File Settings - -The Php.ini file provides PHP with configuration and environmental information. Below are a number of settings for the Php.ini file that help PHP work better with Windows. - -### Required Settings - -- **extension\_dir = <PATH TO EXTENSIONS>** The extension\_dir needs to point to the directory where the PHP extensions are stored. The path can be fully qualified (for example, `C:\PHP\ext`) or relative (for example, .\ext). Extensions that are specified lower in the Php.ini file need to be located in the extension\_dir. If the extensions specified are not in the extension\_dir, then PHP will give a warning message at the start of script execution, and the application may show errors because of the missing functionality. -- **extension = xxxxxx.dll** For each extension enabled, a corresponding extension= directive that tells PHP which extensions in the extension\_dir to load at startup time is necessary. -- **log\_errors=On** PHP errors can also go through the PHP error logging facility. This can be used to send errors to a file or to a service (for example, syslog) and works with the error\_logdirective described below. When running under IIS, log\_errors must be enabled with a valid error\_log. Otherwise, FastCGI considers any startup messages (which may be benign) as an error condition, which generates an HTTP 500 return error code to the browser. -- **error\_log=<path\_to\_error\_log\_file"** The error\_log needs to specify the fully qualified, or relative, path to the file where the PHP error log is stored. This file needs to be writable for the IIS service. The most common places for this file are in various temporary directories (for example, `C:\inetpub\temp\php-errors.log`). That puts the log in a place that IIS can use, and also keeps the log close to where PHP applications are running. -- **cgi.force\_redirect = 0** This directive is required for running under IIS. It is a directory security facility required by many other Web servers; however, enabling it under IIS will cause the PHP engine to fail on Windows. -- **cgi.fix\_pathinfo = 1** This lets PHP access real path info following the CGI specification. The IIS FastCGI implementation needs this extension set. -- **fastcgi.impersonate = 1** FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under. -- **fastcgi.logging = 0** FastCGI logging should be disabled on IIS. If it is left enabled, then any messages of any class are treated by FastCGI as error conditions, which will cause IIS to generate an HTTP 500 exception. - -### Optional Settings - -- **max\_execution\_time=##** This directive sets the maximum amount of time that can be taken executing any given script. The default is 30 seconds. Some applications need more time to process batch operations (for example, Gallery2 loading multiple images from a remote location). However, setting the execution time higher than 300 seconds is not advised because there are often other parts of the connection that cannot support such a long execution time. -- **memory\_limit=###M** The amount of memory available for the PHP process (in MB). The default is 128 MB, which is appropriate for most PHP applications. -- **display\_errors=Off** This directive determines whether to include any error messages in the stream that it returns to the Web server. If turned on, PHP will send the classes of errors that are defined with the **error\_reporting** directive back to IIS as part of the error stream. Many of the open-source applications bypass error reporting by executing commands prefaced with @. This allows the applications to control error handling. -- **Mail functions** PHP is configured by default to send outbound mail through an SMTP server located on the same system as the Web server. Note that most Windows installations usually have the Web and mail servers on separate systems. - -## Enable PHP Session State - -1. In **Windows® Explorer**, create the **session** subdirectory in the PHP installation directory. -2. Right-click the **session** directory, and select **Properties**. -3. In the **Security** tab, click **Edit**. -4. Click **Add**, and enter **IIS\_IUSRS** for **Enter the object names to select**. -5. Click **OK**. -6. Select the **Modify** permission check box, and click **OK**. - - ![Screenshot of the Permissions for session dialog.](install-and-configure-php/_static/image3.gif) - *Figure 7: Permissions for session folder* -7. Click **OK** in the **Session Properties** window. -8. Open **php.ini** in the PHP installation directory, and set the **session.save\_path** setting to the **session** subdirectory: - - [!code-console[Main](install-and-configure-php/samples/sample2.cmd)] -9. Save and close the file. -10. Click **Start**, and then select **Command Prompt**. -11. Type **runas /user:administrator cmd.exe** to enable elevated permissions. -12. Type **iisreset** at the command prompt, and then press the ENTER key. - - ![Screenshot of the Administrator Command Prompt window.](install-and-configure-php/_static/image11.jpg) - *Figure 8: IISRESET command* - - Note that PHP uses file-based session state by default. You can modify a number of additional session settings, including whether cookie or URL sessions should be used, and whether sessions are created on the first request or need to be explicitly created. -13. Test the session state by using Windows Explorer, navigate to `C:\inetpub\wwwroot`. -14. Create a folder and rename it **phpapp**. -15. Create **session.php** in the **phpapp** directory. -16. Paste the following into it: - - [!code-xml[Main](install-and-configure-php/samples/sample3.xml)] -17. Save and close the file. -18. Start **Internet Explorer**, and navigate to `http://localhost/phpapp/session.php`. - - ![Screenshot of a browser window showing the session state in a tab.](install-and-configure-php/_static/image5.gif) - *Figure 9: Using session state* -19. Observe that the counter is 1. -20. Request `http://localhost/phpapp/session.php` again, or press **F5**. - - ![Screenshot of a browser window showing the updated session state in a tab.](install-and-configure-php/_static/image7.gif) - *Figure 10: Using session state* -21. Observe that the counter is 2. - -> [!NOTE] -> *This article uses information from "*[*Using FastCGI to Host PHP Applications on IIS 7.0 and Above*](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md#InstallPHP)*" by Ruslan Yakushev, published on December 5, 2007.* - -## See also - -- [PHP on IIS7](https://php.iis.net/). -- [Deploying IIS 7.5 + FASTCGI + PHP on Server Core](https://blogs.msdn.com/philpenn/archive/2009/07/19/deploying-iis-7-5-fastcgi-php-on-server-core.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image1.gif b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image1.gif deleted file mode 100644 index acc502d76..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image1.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image1.jpg deleted file mode 100644 index 447a3cc02..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image11.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image11.jpg deleted file mode 100644 index d89fa43fe..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image12.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image12.jpg deleted file mode 100644 index d89fa43fe..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image3.gif b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image3.gif deleted file mode 100644 index 8dbf58f4f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image3.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image3.jpg deleted file mode 100644 index 859d4f878..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image5.gif b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image5.gif deleted file mode 100644 index f9200b0a3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image5.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image5.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image5.jpg deleted file mode 100644 index 776cf7195..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image7.gif b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image7.gif deleted file mode 100644 index e251a32bf..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image7.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image7.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image7.jpg deleted file mode 100644 index eecb64147..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image9.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image9.jpg deleted file mode 100644 index 0ea42ee96..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample1.xml deleted file mode 100644 index c9f5eeb12..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample1.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample2.cmd deleted file mode 100644 index 5c0603718..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -session.save_path = "C:\php\session" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample3.xml b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample3.xml deleted file mode 100644 index e1d1e8830..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php/samples/sample3.xml +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-sql-server-2008-for-php-applications-on-iis-7-and-above.md b/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-sql-server-2008-for-php-applications-on-iis-7-and-above.md deleted file mode 100644 index 891070cc2..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-sql-server-2008-for-php-applications-on-iis-7-and-above.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: "Install and Configure SQL Server 2008 for PHP Applications on IIS 7" -author: rick-anderson -description: "PHP is a widely used, easy-to-learn, open-source scripting language. Microsoft ® SQL Server ® is a powerful and robust relational model database server that..." -ms.date: 11/15/2009 -ms.assetid: 322bf487-da24-463a-ac46-d526e179fe2a -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/install-and-configure-sql-server-2008-for-php-applications-on-iis-7-and-above -msc.type: authoredcontent ---- -# Install and Configure SQL Server 2008 for PHP Applications on IIS 7 - -by Tali Smith - -## Introduction - -PHP is a widely used, easy-to-learn, open-source scripting language. Microsoft® SQL Server® is a powerful and robust relational model database server that can handle terabytes of data. Together, PHP and SQL Server can be used to create and support database-driven Web sites that can handle significant traffic and data. - -Although you can install an instance of SQL Server on a computer that is running Internet Information Services 7 (IIS 7) or above, this is typically done only for small Web sites that have a single server computer. Most Web sites have their middle-tier IIS systems on one server or cluster of servers and their databases on a separate server or federation of servers. - -To access a SQL Server database from within PHP scripts, you must have the SQL Server Driver for PHP, which can be installed with the Microsoft® Web Platform Installer (Web PI). - -## Why Use SQL Server? - -While it is possible to use MySQL as the database component, Microsoft offers a highly compelling solution for the data requirements of PHP-based applications. With the advent of the SQL Server Driver for PHP, you can take advantage of the efficient, reliable, and intelligent capabilities of Microsoft SQL Server. - -Hosters and large Web properties need a manageable enterprise-class database solution to support: - -- Effective monitoring and management of Web customers. -- Maximum server utilization for low-cost operations. -- Flexible platform options for developers. -- Consistently increasing scale-out needs. -- Efficient management of large groups of servers. - -SQL Server 2008 can meet these needs by providing enterprise-class availability and scalability and a low total cost of ownership (TCO). - -- **Increase scalability.** Scale out with unlimited memory and database size, which helps hosting companies offer support for multi-tenancy and customers with growing data needs. Scale out with support for up to four CPUs to maximize the utilization of hardware resources. -- **Ensure availability**. Help ensure availability by using log shipping to automatically back up data on separate server s or keep multiple read servers online to better handle large amounts of Web traffic. One-way merge and transactional replication provides enterprise-class data availability. **Lower TCO.** Help increase overall profit margins through low monthly licensing costs, enhanced publishing tools for fast customer deployment, and manageability tools for reduced administration. Businesses can take advantage of the low cost of Microsoft® SQL Server® 2008 Web for their core enterprise installations. -- **Automate tasks and policies.** - Use *Policy-Based Management* to define configuration policies and apply them to servers, databases, tables, and other targets. - Use the *performance data collector* to identify problematic customer applications and pinpoint causes for performance degradation. - Use *SQL Agent* to reduce the amount of time spent on administrative tasks by scheduling and executing events like server backups. -- **Streamline administration.** - Use the *service broker* to distribute applications across your servers to help balance the load while the applications seamlessly functions as a whole for easier scale out. - Use *Windows PowerShell™* to automate server administration and application development more easily, giving administrators a common scripting language across Windows®, IIS, and SQL Server to save time. -- **Use built-in business intelligence**. Use basic SQL Server 2008 Reporting Services features to create unique report layouts. The new visualization enhancements in Reporting Services further enrich the reports and provide greater insight. -- **Take advantage of platform flexibility.** - Use *ADO.NET Data Services* support to expose data through Web services using existing tools and processes. This helps hosters support customers with mixed applications like ASP and PHP. - Use *FTS (full text search)* for fast and flexible indexing for keyword-based query of text stored in SQL Server for enterprise search functionality. - -## SQL Server Versions - -SQL Server 2008 is available in several editions, including two editions that are free. Most applicable to Web hosters are: - -- **Microsoft SQL Server 2008 Web.** - Microsoft SQL Server 2008 Web has been designed to provide a robust backend to Web systems. Its feature set includes policy-based management tools, automated security policy enforcement, and performance data collection tools. Although this edition can only address four CPUs, there are no limits on memory or database size. -- **Microsoft® SQL Server® 2008 Express.** - This free edition provides an entry-level database (4 GB in size) that is ideal for learning, developing and powering desktop computers, Web and small server applications, and for redistribution by independent software vendors (ISVs). Built on the SQL Server 2008 Database Engine, it supports stored procedures, triggers, functions, and views, and it stores a variety of business data with native support for relational data, XML, FILESTREAM, and spatial data. This edition can address one CPU and has a limit of 1 GB of memory. - - - -## Install SQL Server 2008 with Web PI - -The fastest and easiest way to install a database component for a Windows-based PHP Web platform is by using Web PI. Web PI can install the latest versions of SQL Server Express (a scaled-down, free edition of SQL Server, which includes the core database engine) and the Microsoft SQL Server Driver for PHP with just a few clicks. You can simply navigate to the "Web Platform" tab and select "SQL Server Express 2008 with Service Pack 1" under the "Databases" customize link. Web PI can also install and set up IIS, FastCGI, and the latest version of PHP from the php.net site. - -## Install SQL Server 2008 Manually - -Alternately, you can manually set up SQL Server as the database component of the Microsoft® Web Platform. The SQL Server Installation Wizard is based on Windows® Installer. It provides a single feature tree for installation of all SQL Server components, so that you do not have to install them individually. SQL Server 2008 can also be installed from the command prompt or with a configuration file. - -For instructions, see: [How to: Install SQL Server 2008](https://technet.microsoft.com/library/ms143219.aspx). - -## Links for Further Information - -- [SQL 2008 for Hosters](../../web-hosting/configuring-servers-in-the-windows-web-platform/sql-2008-for-hosters.md). -- [Hardware and Software Requirements for Installing SQL Server 2008](https://technet.microsoft.com/library/ms143506.aspx). -- [Editions and Components of SQL Server 2008.](https://technet.microsoft.com/library/ms144275.aspx) -- [SQL Server 2008 home page](https://www.microsoft.com/sqlserver/2008/en/us/default.aspx). -- [SQL Server Developer Center library](https://msdn.microsoft.com/library/bb545450.aspx). -- [SQL Server Best Practices](https://technet.microsoft.com/sqlserver/bb671430.aspx). diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md deleted file mode 100644 index a03eb447f..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: "Install PHP and FastCGI Support on Server Core" -author: rick-anderson -description: "FastCGI is a language-independent, scalable, open extension to Common Gateway Interface (CGI) that improves performance. The FastCGI extension is installable..." -ms.date: 01/30/2008 -ms.assetid: 3a89b36f-8b6a-490e-b7fe-b34b26d24864 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core -msc.type: authoredcontent ---- -# Install PHP and FastCGI Support on Server Core - -by IIS Team - -## Introduction - -FastCGI is a language-independent, scalable, open extension to Common Gateway Interface (CGI) that improves performance. The FastCGI extension is installable onto Server Core and enables application frameworks such as PHP to achieve improved performance and stability on Internet Information Services 7 (IIS 7) and above. Installing FastCGI when hosting PHP applications is very strongly recommended. In this example, we install FastCGI support to prepare the server to host our PHP application. - -## Install FastCGI Support - -1. To install FastCGI and Static Content Web Server support, type the following text into the Server Core system's command line, and then press ENTER: - - [!code-console[Main](install-php-and-fastcgi-support-on-server-core/samples/sample1.cmd)] -2. Type the following text into the Server Core system's command line and press ENTER: - - [!code-console[Main](install-php-and-fastcgi-support-on-server-core/samples/sample2.cmd)] -3. AppCmd.exe is the command-line tool included with IIS. AppCmd.exe can be found in the `%WinDir%\System32\InetSrv` directory. Use AppCmd.exe commands to create the PHP/FastCGI handler mapping from the Server Core's command line (note that this is case sensitive): - - [!code-console[Main](install-php-and-fastcgi-support-on-server-core/samples/sample3.cmd)] -4. Depending on the PHP installation location, paths to executables on the hard disk may require updates. Note that the AppCmd.exe example commands above assume that PHP installation is in the D:\PHP directory. - -## Install PHP on IIS 7 and Above - -1. Download the latest [PHP release](https://www.php.net/downloads.php). -2. In the section titled "Windows Binaries," select the archive with the **.zip** file extension. Note that the Server Core lacks a graphical user interface (GUI), and has no Web browser. -3. Uncompress the archive's contents to a location accessible by the Server Core system, which is likely to be a network file share. -4. Create a directory in which to copy the uncompressed files, for example: - - [!code-console[Main](install-php-and-fastcgi-support-on-server-core/samples/sample4.cmd)] - -5. Copy the entire contents of the PHP archive you uncompressed previously into the `%SystemDrive%\PHP` directory. -6. Execute the following command: - - [!code-console[Main](install-php-and-fastcgi-support-on-server-core/samples/sample5.cmd)] - -## Test the PHP Configuration - -1. From the command line, start **Notepad.exe**. In the empty file, type or paste the following text: - - [!code-xml[Main](install-php-and-fastcgi-support-on-server-core/samples/sample6.xml)] -2. Save the file as **phpinfo.php** to `c:\inetpub\wwwroot\`. -3. From a connected computer, open a browser window, and go to `http://%systemhost%/phpinfo.php`. -4. A page appears showing the PHP configuration. - - [![Screenshot of the P H P Configuration page. This page shows information on P H P Version five dot two dot four.](install-php-and-fastcgi-support-on-server-core/_static/image2.jpg)](install-php-and-fastcgi-support-on-server-core/_static/image1.jpg) - *Figure 1: PHP page* - -> [!NOTE] -> *This article updates [IIS 7.0 and Above on Server Core](../../manage/working-with-server-core/iis-70-on-server-core.md) by Tobin Titus, published on September 11, 2009.* - -## See also - -- [Setting Up FastCGI for PHP](../running-php-applications-on-iis/set-up-fastcgi-for-php.md) -- [Videocast: Using IIS 7 and Above with Windows Server Core](../../manage/working-with-server-core/using-iis-with-windows-server-core.md) -- [Installing PHP on Windows Vista® with FastCGI](installing-php-on-windows-vista-with-fastcgi.md) -- [Using FastCGI to Host PHP Applications on IIS 6.0](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60.md) -- [Configuring FastCGI Extension for IIS 6.0](configuring-the-fastcgi-extension-for-iis-60.md) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/_static/image1.jpg deleted file mode 100644 index acf03afba..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/_static/image2.jpg deleted file mode 100644 index acf03afba..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample1.cmd deleted file mode 100644 index 4435293b7..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -Start /w ocsetup IIS-WebServerRole \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample2.cmd deleted file mode 100644 index b53da789e..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -Start /w ocsetup IIS-CGI \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample3.cmd deleted file mode 100644 index 48ee99432..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample3.cmd +++ /dev/null @@ -1,3 +0,0 @@ -AppCmd set config /section:system.webServer/fastCGI /+[fullPath='d:\php\php-cgi.exe'] - -AppCmd set config /section:system.webServer/handlers /+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='d:\php\php-cgi.exe',resourceType='Either'] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample4.cmd deleted file mode 100644 index 5c4bb8288..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -%SystemDrive%\PHP \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample5.cmd deleted file mode 100644 index b7543cafe..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -rename %SystemDrive%\PHP\PHP.INI-Recommended %SystemDrive%\PHP\PHP.INI \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample6.xml b/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample6.xml deleted file mode 100644 index c9f5eeb12..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-php-and-fastcgi-support-on-server-core/samples/sample6.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php.md b/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php.md deleted file mode 100644 index 48aa8301e..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "Install the Microsoft Drivers for PHP for SQL Server" -author: david-puglielli -description: "Introduction The Microsoft Drivers for PHP for SQL Server are designed to enable reliable, scalable integration with SQL Server for PHP applications on..." -ms.date: "02/06/2020" -ms.assetid: 2e1b4523-a32f-4390-bf9f-552f21ecc93b -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php -msc.type: authoredcontent ---- -# Install the SQL Server Driver for PHP - -by Tali Smith - -## Introduction - -The Microsoft Drivers for PHP for SQL Server are designed to enable reliable, scalable integration with SQL Server for PHP applications on Windows, Linux, and macOS platforms. The drivers are PHP extensions that allow reading from and writing to SQL Server databases in all editions of SQL Server (including Express editions) within PHP scripts. Two drivers are available: The SQLSRV driver provides a procedural interface for interacting with SQL Server. The PDO_SQLSRV driver implements PHP's object-oriented PDO interface for working with databases. - -The drivers' application programming interface (API) includes support for Active Directory authentication, transactions, parameter binding, streaming, metadata access, Unicode data handling, and error handling. The drivers rely on the Microsoft ODBC Driver for SQL Server to communicate with SQL Server. The drivers also support Microsoft SQL Azure Database, enabling developers to build PHP applications with relational capabilities using SQL Azure Database. - -The Microsoft Drivers for PHP for SQL Server download is freely available to all SQL Server users. Releases and source code for the drivers are available from the [Github project page](https://github.com/microsoft/msphpsql). Full documentation for the drivers is available on [Microsoft Learn](/sql/connect/php/microsoft-php-driver-for-sql-server); what follows is a brief overview of installation and configuration on Windows and IIS. - -## System Requirements - -Full details on the system requirements for all supported versions of the driver can be found on the [system requirements page](/sql/connect/php/system-requirements-for-the-php-sql-driver). The following software is required: - -- On the client machine: - - A supported Windows, Linux, or macOS operating system - - A supported version of PHP - - A supported version of the Microsoft ODBC Driver for SQL Server - - A Web server configured to run PHP -- On the server: - - A supported version of SQL Server or Azure SQL Database - -## Install the Drivers - -The Microsoft Drivers for PHP for SQL Server can be installed using the [Web Platform Installer](https://www.microsoft.com/web/downloads/platform.aspx). To download and install the drivers manually instead, perform the following steps: - -1. Download and run the installation package from the appropriate link on the [download page](/sql/connect/php/download-drivers-php-sql-server). -2. Enter a directory to extract the package into when prompted. -3. Open the directory you chose in step 3 and copy the required dll libraries to your PHP extension directory. The filenames indicate which PHP version, threadedness, and architecture each dll file is for. For example, `php_sqlsrv_73_ts_x64.dll` is the 64-bit SQLSRV driver for thread-safe (ts) PHP 7.3. -4. Download and install the Microsoft ODBC Driver for SQL Server from the appropriate link on the [ODBC download page](/sql/connect/odbc/download-odbc-driver-for-sql-server). -5. Edit your `php.ini` file to add the following lines in the `Extensions` section: - - [!code-console[Main](install-the-sql-server-driver-for-php/samples/sample1.cmd)] - - Substitute the names of the files you copied to your PHP extension directory as required. Full instructions for loading the drivers can be found [here](/sql/connect/php/loading-the-php-sql-driver). -6. Start a command prompt as administrator and run `iisreset` to restart your IIS server. - -## Configure the Drivers - -1. Retrieve the current configuration settings for the SQLSRV driver using the [`sqlsrv_get_config` function](/sql/connect/php/sqlsrv-get-config), or for the PDO_SQLSRV driver using the [`PDO::getAttribute` function](/sql/connect/php/pdo-getattribute). -2. Change the configuration settings for the SQLSRV driver using the [`sqlsrv_configure` function](/sql/connect/php/sqlsrv-configure), or for the PDO_SQLSRV driver using the [`PDO::setAttribute` function](/sql/connect/php/pdo-setattribute). -3. Ensure that the drivers are loaded and verify the configuration settings by running a script that calls the phpinfo() function: - - 1. Open a text file, and copy the following code into it: - - [!code-xml[Main](install-the-sql-server-driver-for-php/samples/sample2.xml)] - 2. Save the file as `info.php` in the IIS root directory. - 3. Open a browser, and go to `http://localhost/info.php`. - 4. Scroll down the resulting page to find the `sqlsrv` and `pdo_sqlsrv` sections. Confirm that the drivers are loaded and the configuration settings are set to the default values (see Figure 1). - - ![Table showing local and master value configuration settings.](install-the-sql-server-driver-for-php/_static/image2.jpg) - - *Figure 1: SQL Server configuration settings page* - -## Create a Connection to the Database - -When using the SQLSRV driver, the [`sqlsrv_connect()` function](/sql/connect/php/sqlsrv-connect) is used to establish a connection to the server. When using the PDO_SQLSRV driver, the [`PDO::__construct` function](/sql/connect/php/pdo-construct) is used to establish a connection to the server. - -Connections can be made using [Windows authentication](/sql/connect/php/how-to-connect-using-windows-authentication), [SQL Server authentication](/sql/connect/php/how-to-connect-using-sql-server-authentication), or [Azure Active Directory authentication](/sql/connect/php/azure-active-directory). The default is to use Windows authentication. In most scenarios, this means that the Web server's process identity or thread identity (if the Web server is using impersonation) is used to connect to the server, not a user's identity. - -## Links for Further Information - -- [Microsoft Drivers for PHP for SQL Server](https://github.com/microsoft/msphpsql) -- [Download the Microsoft Drivers for PHP for SQL Server](/sql/connect/php/download-drivers-php-sql-server) -- [Overview of the Microsoft Drivers for PHP for SQL Server](/sql/connect/php/overview-of-the-php-sql-driver) -- [Programming Guide](/sql/connect/php/programming-guide-for-php-sql-driver) -- [SQLSRV Example Application](/sql/connect/php/example-application-sqlsrv-driver) -- [PDO_SQLSRV Example Application](/sql/connect/php/example-application-pdo-sqlsrv-driver) -- [PHP Homepage](http://php.net/) -- [Whitepaper: Accessing SQL Server Databases with PHP](https://social.technet.microsoft.com/wiki/contents/articles/1258.accessing-sql-server-databases-from-php.aspx) -- [Drivers for SQL Server Team Blog](https://techcommunity.microsoft.com/t5/SQL-Server/bg-p/SQLServer/label-name/SQLServerDrivers) -- [SQL Azure Team Blog](https://techcommunity.microsoft.com/t5/Azure-SQL-Database/bg-p/Azure-SQL-Database) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/_static/image1.jpg deleted file mode 100644 index 9dc7c15e4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/_static/image2.jpg deleted file mode 100644 index 9dc7c15e4..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/samples/sample1.cmd deleted file mode 100644 index 2b5730b37..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -Extension=php_sqlsrv.dll \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/samples/sample2.xml b/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/samples/sample2.xml deleted file mode 100644 index c9f5eeb12..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/install-the-sql-server-driver-for-php/samples/sample2.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md b/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md deleted file mode 100644 index 055fa5ce8..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "Installing PHP on Windows Vista with FastCGI" -author: ruslany -description: "Microsoft IIS 7.0 for Windows Vista SP1 now includes a built-in FastCGI component. To get detailed information on how to use FastCGI component to host PHP ap..." -ms.date: 12/18/2007 -ms.assetid: 8c54faaa-76bf-4697-82dd-711e3aa0e259 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi -msc.type: authoredcontent ---- -# Installing PHP on Windows Vista with FastCGI - -by [Ruslan Yakushev](https://github.com/ruslany) - -## FastCGI support in Windows Vista - -Microsoft IIS 7.0 for Windows Vista SP1 now includes a built-in FastCGI component. To get detailed information on how to use FastCGI component to host PHP applications on Windows Server 2008 or Windows Vista SP1 refer to this [article](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md "PHP on IIS7"). - -[![Warning that states that you need Vista S P 1 for Fast C G I support on I I S 7.](installing-php-on-windows-vista-with-fastcgi/_static/image2.gif)](installing-php-on-windows-vista-with-fastcgi/_static/image1.gif) IIS7.0 included in Windows Vista (not SP1) does not include FastCGI component. In order to get FastCGI support on IIS7.0 in Windows Vista it is necessary to upgrade to Vista SP1. - -## Getting More Information - -To discuss the FastCGI Support for IIS, or file bug reports, use the FastCGI forums: - -- [IIS 6 FastCGI forum](https://forums.iis.net/1103.aspx) -- [IIS 7.0 FastCGI forum](https://forums.iis.net/1104.aspx) - -To see a list of known issues with FastCGI in IIS, see [**known issues**](https://forums.iis.net/1103.aspx). - -To get more information regarding running various PHP applications on IIS, see: - -- [PHP on IIS portal](https://php.iis.net/) -- [PHP community forum](https://forums.iis.net/1102.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi/_static/image1.gif b/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi/_static/image1.gif deleted file mode 100644 index 4a6ac0c4e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi/_static/image1.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi/_static/image2.gif b/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi/_static/image2.gif deleted file mode 100644 index 4a6ac0c4e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/installing-php-on-windows-vista-with-fastcgi/_static/image2.gif and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis.md b/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis.md deleted file mode 100644 index 6603057bf..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Run Multiple Versions of PHP on IIS" -author: rick-anderson -description: "The ability to run multiple versions of PHP on one Internet Information Services (IIS) server can provide advantages when using the Microsoft ® Web Platform...." -ms.date: 11/15/2009 -ms.assetid: 48072e62-df8d-4278-866f-a68a4242e957 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis -msc.type: authoredcontent ---- -# Run Multiple Versions of PHP on IIS - -by Tali Smith - -## Introduction - -The ability to run multiple versions of PHP on one Internet Information Services (IIS) server can provide advantages when using the Microsoft® Web Platform. Some PHP applications rely on functions or features that are available only in certain versions of PHP. If you want to host these applications on one server, you must run different PHP versions side by side. The ability to run multiple versions of PHP on one IIS server also lets you test the newest release of PHP before deploying it to your live Web sites. - -The IIS FastCGI handler fully supports running multiple versions of PHP on the same server. You can either use a different extension for each PHP version (for example, .php406 and .php411), or you can use multiple sites with the same base directory and then map the .php extension to the different PHP versions. Note, however, that maintaining multiple instances of PHP means more administrative overhead and more complicated troubleshooting. It is important to consider the consequences carefully before adding extra PHP instances. - -## Configure the Environment Variables - -To run multiple versions of PHP on IIS, start by configuring the environment variables. For example, to use PHP 4 you must ensure that both the path to the PHP 4 root directory and the path to the dynamic-link libraries (DLLs) directory are included in your Path environment variable: - -1. Right-click on **My Computer**. -2. Select **Properties**. -3. Click on the **Advanced** tab. -4. Click on the **Environment Variables** button. -5. In the **System Variables** pane, scroll down until you see the **Path** variable. -6. Select the **Path** variable, and then click the **Edit** button. -7. At the beginning of the **Variable Value** field, type the names of the full paths to the PHP 4 root directory and to the DLLs directory. The path names must be separated by a semicolon. - - You must remove the PHPRC environment variable, because it tells PHP where to look for the Php.ini configuration file. If you have already set the PHPRC variable, follow the procedure above, but instead of editing the **Path** variable, select the **PHPRC** variable, and then press **Delete**. - -## Create FastCGI Application Process Pools - -Next, you create FastCGI application process pools. For example, suppose you want to support PHP 4.4.8, PHP 5.2.1, and PHP 5.2.5 non-thread-safe. Place the corresponding PHP binaries in separate folders on the file system (for example, `C:\php448\`, `C:\php521\` and `C:\php525nts`), and then create FastCGI application process pools for each PHP version: - -[!code-console[Main](run-multiple-versions-of-php-on-iis/samples/sample1.cmd)] - -If you have three Web sites (site1, site2, and site3) and each site must use a different PHP version, you can define handler mappings on each site to reference a corresponding FastCGI application process pool. Note that each FastCGI process pool is uniquely identified by a combination of fullPath and arguments properties. - -[!code-console[Main](run-multiple-versions-of-php-on-iis/samples/sample2.cmd)] - -> [!NOTE] -> *This article uses material from "[Using FastCGI to Host PHP Applications on IIS 7.0](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md)" published on June 26, 2009.* - -## Links for Further Information - -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md). -- [Another reason that IIS ROCKS and PHP is better on Microsoft Windows!](https://blogs.msdn.com/joestagner/archive/2005/10/30/487051.aspx) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis/samples/sample1.cmd deleted file mode 100644 index 49757df97..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis/samples/sample1.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php448\php.exe'] - -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php521\php-cgi.exe'] - -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php525nts\php-cgi.exe'] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis/samples/sample2.cmd deleted file mode 100644 index 35360f672..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/run-multiple-versions-of-php-on-iis/samples/sample2.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config site1 –section:system.webServer/handlers /+"..[name=’PHP448_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php448\php.exe’,resourceType=’Either’] - -C:\>%windir%\system32\inetsrv\appcmd set config site2 –section:system.webServer/handlers /+"..[name=’PHP521_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php521\php-cgi.exe’,resourceType=’Either’] - -C:\>%windir%\system32\inetsrv\appcmd set config site3 –section:system.webServer/handlers /+"..[name=’PHP525nts_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php525nts\php-cgi.exe’,resourceType=’Either’] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation.md b/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation.md deleted file mode 100644 index 20c3c13b0..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Secure Content in IIS Through Impersonation -author: rick-anderson -description: Describes how to secure content in IIS through FastCGI impersonation to prevent PHP scripts across multiple IIS websites from accessing each other's files. -ms.date: 11/15/2009 -ms.assetid: fadbe064-4cbf-49ec-9439-ce6633f3a155 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation -msc.type: authoredcontent ---- -# Secure Content in IIS Through Impersonation - -by Tali Smith - -## Introduction - -The access control list (ACL) is a list of permissions associated with an object. Each of these permission entries is called an access control entry (ACE); an ACE contains permissions associated with a particular object for a particular identity. For example, for file system objects, you can set ACLs on files/directories on an NTFS file system. - -You can use graphical user interface (GUI) tools (such as My Computer or Windows® Explorer) to set or edit ACLs. Simply right-click any file or folder resource from one of these tools, select **Properties**, and then click the **Security tab** to see a graphical representation of the ACL on the resource you chose. From this dialog box, you can apply or remove group or user permissions to system resources such as files and folders. You can also use a command-line utility Cacl.exe to display or modify file ACLs. - -For the basics of ACLs, see [Secure Content in IIS through File System ACLs](../../get-started/planning-for-security/secure-content-in-iis-through-file-system-acls.md). - -## Impersonation and File System Access - -It is recommended that you enable FastCGI impersonation in PHP when using IIS. This is controlled by the **fastcgi.impersonate** directive in the Php.ini file. When impersonation is enabled, PHP performs all the file system operations on behalf of the user account that has been determined by IIS authentication; this ensures that even if the same PHP process is shared across multiple IIS Web sites, the PHP scripts in those Web sites cannot access each other's files as long as different user accounts are used for IIS authentication on each Web site. - -For example, in its default configuration, IIS has anonymous authentication enabled with the built-in user account IUSR used as a default identity. This means that in order for IIS to execute PHP scripts, it is necessary to grant the IUSR account read permission on those scripts. If PHP applications need to perform write operations on certain files or write files into some folders, then the IUSR account should have write permission to those. - -To determine which user account is used as an anonymous identity in IIS, use the following command (replace the "Default Web Site" with the name of your IIS Web site). In the output XML configuration element, look for the userName attribute. - -[!code-xml[Main](secure-content-in-iis-through-impersonation/samples/sample1.xml)] - -Note that if the userName attribute is not present in the <anonymousAuthentication> element or is set to an empty string, then the application pool identity is used as an anonymous identity for that Web site. - -To modify the permissions settings on files and folders, use the Windows Explorer user interface or the **icacls** command. - -[!code-console[Main](secure-content-in-iis-through-impersonation/samples/sample2.cmd)] - -*Note: This article uses material from "[Securing Content in IIS through File System ACLs](../../get-started/planning-for-security/secure-content-in-iis-through-file-system-acls.md)" by Nazim Lala*, *published on March 17, 2009.* - -## Links for Further Information - -- [Understanding the Built-In User and Group Accounts in IIS 7 and Above](../../get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis.md). -- [Access Control Lists](/windows/win32/secauthz/access-control-lists). diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation/samples/sample1.xml b/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation/samples/sample1.xml deleted file mode 100644 index 05e3e2805..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation/samples/sample1.xml +++ /dev/null @@ -1,15 +0,0 @@ -C:\>%windir%\System32\inetsrv>appcmd.exe list config "Default Web Site" /section:anonymousAuthentication - - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation/samples/sample2.cmd deleted file mode 100644 index 315424d09..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-content-in-iis-through-impersonation/samples/sample2.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\>icacls C:\inetpub\wwwroot\upload /grant IUSR:(OI)(CI)(M) - -processed file: C:\inetpub\wwwroot\upload - -Successfully processed 1 files; Failed processing 0 files \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings.md b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings.md deleted file mode 100644 index 3245eb17e..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: "Secure PHP with Configuration Settings" -author: rick-anderson -description: "PHP code can be embedded in your Web pages along with HTML code. When your Web server receives a request for a page, the page is first given to the PHP handl..." -ms.date: 11/15/2009 -ms.assetid: 60b399b7-e8d9-4f0a-8fd8-37899808f69b -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings -msc.type: authoredcontent ---- -# Secure PHP with Configuration Settings - -by Tali Smith - -## Introduction - -PHP code can be embedded in your Web pages along with HTML code. When your Web server receives a request for a page, the page is first given to the PHP handler. The PHP handler outputs HTML code without modification and executes any PHP commands. Any HTML code generated by the PHP commands is also output. This results in a Web page with content that has been customized on the server before being sent to the requestor. - -The capabilities of PHP also make it a potential security risk because data is actively fetched, received, and processed from anywhere on the Internet. Attackers may attempt to send in malicious data and scripts and trick your server into fetching malicious scripts and running them. Attackers may also attempt to read and write files on your server to take control of the Web site and use it for their own purposes. - -You can configure PHP settings to tighten the security of a PHP installation and help protect the Web site from malicious attacks. The Php.ini file specifies the configuration settings PHP uses when it is running on your Web site. The Php.ini file determines what things PHP scripts are allowed to do and what the scripts are prohibited from doing. Table 1 summarizes settings that affect security. More detailed explanations of the setting follow. - -| **Setting** | **Description** | -| --- | --- | -| allow\_url\_fopen=Off allow\_url\_include=Off | Disable remote URLs (which may cause code injection vulnerabilities) for file handling functions. | -| register\_globals=Off | Disable register\_globals. | -| open\_basedir="c:\inetpub\" | Restrict where PHP processes can read and write on a file system. | -| safe\_mode=Off safe\_mode\_gid=Off | Disable safe mode. | -| max\_execution\_time=30 max\_input\_time=60 | Limit script execution time. | -| memory\_limit=16M upload\_max\_filesize=2M post\_max\_size=8M max\_input\_nesting\_levels=64 | Limit memory usage and file sizes. | -| display\_errors=Off log\_errors=On error\_log="C:\path\of\your\choice" | Configure error messages and logging. | -| fastcgi.logging=0 | Internet Information Services (IIS) FastCGI module will fail the request when PHP sends any data on stderr by using FastCGI protocol. Disabling FastCGI logging will prevent PHP from sending error information over stderr, and generating 500 response codes for the client. | -| expose\_php=Off | Hide presence of PHP. | - -Table 1: Recommended Php.ini settings - -[!code-console[Main](secure-php-with-configuration-settings/samples/sample1.cmd)] - -This setting is very important because it prevents URLs from being used in statements such as include(). Setting allow\_url\_fopen to "Off" means that only files that reside within your Web site can be included; you cannot include a file from a different server, but neither can other people through Remote File Inclusion (RFI) attacks. (In an RFI attack, someone embeds a URL in an HTTP request hoping that your script is tricked into running theirs.) A command such as `include("http://website.com/page.php")`, for example, is not allowed to execute. - -Include a file from your own site by specifying its path and filename. For example, if you have a URL include line, convert it to: - -[!code-console[Main](secure-php-with-configuration-settings/samples/sample2.cmd)] - -$\_SERVER['DOCUMENT\_ROOT'] is a superglobal variable set to be the root folder of your site. (Note that there is no trailing "/"; you must provide a leading "/" in '/page.php'.) - -If you want to include static content from another one of your Web sites, such as `include('http://myothersite.com/includes/footer.php')`, make a copy of that content in the current site and then include it locally. - -Note that if you must include content from a remote site using URLs and need to set allow\_url\_fopen = On, look for alternative ways to gain some protection from RFI attacks. - -[!code-console[Main](secure-php-with-configuration-settings/samples/sample3.cmd)] - -These settings specify that all errors and warnings get logged to your error log text file and specify that none of the errors or warnings get displayed on any Web page that is sent out from your server. Errors should not be displayed publicly because they can help someone figure out how to attack your server. Always check your error log when you are testing new code. - -[!code-console[Main](secure-php-with-configuration-settings/samples/sample4.cmd)] - -This defines the path and fie to which your PHP errors and warnings are logged. You should use a text file for error logging, but note that the text file will accumulate errors indefinitely until you empty it. Keep the error log file in an area of your Web site that is not publicly accessible. - -[!code-console[Main](secure-php-with-configuration-settings/samples/sample5.cmd)] - -With this setting, the headers that accompany outgoing pages do not reveal that PHP is running or its version. - -[!code-console[Main](secure-php-with-configuration-settings/samples/sample6.cmd)] - -For example, for the URL `http://site.com/index.php?variable=***value***`, the variable passes into your script with its value set to ***value*** when register\_globals is "On." When register\_globals is "Off," however, variables do not automatically pass into your script's variable list. This makes it much more difficult for an attacker to inject code into your script. - -[!code-console[Main](secure-php-with-configuration-settings/samples/sample7.cmd)] - -This setting is not in the "recommended Php.ini" file. It restricts the permissions with which PHP scripts run. Some third-party scripts do not run properly when safe\_mode is set to "On." Note that beginning with PHP 6 safe\_mode does not exist. - -## View the PHP Settings - -You can get a complete report of all your PHP settings. - -1. Create a text file with a **.php** extension: - - [!code-xml[Main](secure-php-with-configuration-settings/samples/sample8.xml)] -2. Upload it to your server into (preferably) a password-protected folder. -3. Open your Web browser, and type the *path* into the address bar: - - [!code-console[Main](secure-php-with-configuration-settings/samples/sample9.cmd)] -4. Enter your *user name* and *password* to access the protected folder and view the result page. -5. Save or print the result page to your local computer for reference. -6. Delete the **.php** file from your server. - -## See also - -- [How to change configuration settings](http://ie.php.net/configuration.changes). -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md#PHP_Security_Recommendations_). diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample1.cmd deleted file mode 100644 index 0cc901e6a..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -allow_url_fopen = Off \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample2.cmd deleted file mode 100644 index 55e1372e5..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -include($_SERVER['DOCUMENT_ROOT'] . '/page.php'); \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample3.cmd deleted file mode 100644 index e9a7a3620..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample3.cmd +++ /dev/null @@ -1,4 +0,0 @@ -DISPLAY_ERRORS =Off -display_startup_errors = Off -log_errors = On -error_reporting = E_ALL \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample4.cmd deleted file mode 100644 index 60d8a95a8..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -error_log = /home/yourUserID/public_html/phperr.txt \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample5.cmd deleted file mode 100644 index 1bcbd7a5b..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -expose_php = Off \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample6.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample6.cmd deleted file mode 100644 index 1c70d0cfc..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample6.cmd +++ /dev/null @@ -1 +0,0 @@ -register_globals = Off \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample7.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample7.cmd deleted file mode 100644 index a03c0ba66..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample7.cmd +++ /dev/null @@ -1 +0,0 @@ -safe_mode = Off \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample8.xml b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample8.xml deleted file mode 100644 index c9f5eeb12..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample8.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample9.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample9.cmd deleted file mode 100644 index e4ae3ec3b..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-php-with-configuration-settings/samples/sample9.cmd +++ /dev/null @@ -1 +0,0 @@ -http://yoursite.com/whatever/filename.php \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-infrastructure-and-php-applications.md b/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-infrastructure-and-php-applications.md deleted file mode 100644 index 935898cfa..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-infrastructure-and-php-applications.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Secure Your Infrastructure and PHP Applications -author: rick-anderson -description: Describes how to secure your infrastructure and PHP applications hosted on IIS through a variety of methods. -ms.date: 11/15/2009 -ms.assetid: 3a346c3c-f9cc-49a5-9768-8ddd497935bb -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/secure-your-infrastructure-and-php-applications -msc.type: authoredcontent ---- -# Secure Your Infrastructure and PHP Applications - -by Tali Smith - -Security is always a consideration; it is critical to make careful security considerations when you implement and maintain your Web sites, infrastructure, and PHP applications. Internet Information Services 7 (IIS 7) and above offers many ways to [configure security](../../manage/configuring-security/index.md), including [dynamic IP restrictions](../../manage/configuring-security/using-dynamic-ip-restrictions.md), [application pool identities](../../manage/configuring-security/application-pool-identities.md), and [Secure Sockets Layer (SSL)](../../manage/configuring-security/how-to-set-up-ssl-on-iis.md). - -The following techniques are some additional ways to secure PHP on IIS. - -## Secure File Access - -You can secure your IIS sites through access control list (ACL)–based security measures: - -- Structure your Web application folders in a logical manner. Create new directories for each file type, setting ACLs on each directory, and let the files inherit the ACLs. Managing and maintaining a Web application with individual ACLs for each file in the system is more difficult. For greater control, isolate separate folders that might need read-write access from anonymous users. -- By default, ACLs on the FTP and SMTP directories (`C:\inetpub\ftproot` and `C:\inetpub\mailroot`, respectively) are set at Everyone (Full Control); consider modifying these ACLs with tighter security. To save space on your IIS volume, place the FTP and SMTP folders on a different volume than the IIS server if you want to support Everyone (Write). Alternately, use Windows® 2000 disk quotas to limit the amount of data you can write to the FTP and SMTP folders. -- Mark the ACLs on the IIS-generated log files (`%systemroot%\system32\logfiles`) Administrators (Full Control), System (Full Control), Everyone (Read-Write Control); this helps prevent intruders from deleting information to cover their tracks. -- Disable or remove all IIS-installed sample Web applications. (Sample sites to help developers learn are not installed by default.) Never install sample sites on a production server because of the many well-identified security risks they present. Though some sample Web applications are installed so that you can access them only from `http://localhost` or IP address 127.0.0.1, remove them. For example, the IISSamples, IISHelp, and Data Access virtual directories and their associated folders are sample sites that should not reside on production servers. - -See [Secure Content in IIS Through File System ACLs](../../get-started/planning-for-security/secure-content-in-iis-through-file-system-acls.md) for more information. - -## Use Per-Site PHP Configuration - -The FastCGI handler makes it possible to use a different Php.ini file for every application mapping. You can customize your PHP configuration around the specific requirements of your users or your PHP applications, letting you tighten configuration. - -## Separate IIS User Accounts and Application Pools - -Segregate users and PHP applications by using different user accounts and application pools; this helps keep users and PHP applications from interfering with each other. Keeping user accounts and application pools separate also helps isolate PHP crashes to the specific user or application that caused the issue. - -## Limit NTFS Permissions - -Consider using the NTFS Deny permission to restrict access for your IIS users; configure your IIS user account so that it only has permissions to the files and directories it needs to access, and everything else is set to Deny. If you have also separated IIS user accounts and application pools, you can make it nearly impossible for one user or application to access files of another user or application like the **safe\_mode** PHP directive used by many UNIX-based Web hosts. Note that it is more common to exclude the user or group from the ACL instead of configuring them to have explicit Deny permissions. It is best to plan your permission structure very carefully and make a backup of your system state. - -## Use URL Rewriting - -You can improve security with URL rewriting. To avoid the possibility of session hijacking or fixation, keep the session ID in a cookie instead of rewriting the session ID into the URL, and add a second unique token into the URL. Associate this new token value with the session ID, and store it in server session state. Whenever the user makes a request back to the server, the request must include the matching second token or the server considers the request a forgery. For more information, see [Improving Security with URL Rewriting](https://www.microsoft.com/security/blog/2009/04/09/improving-security-with-url-rewriting/). - -## Modify Configuration Settings - -You can configure PHP settings to tighten the security of a PHP installation and help protect the Web site from malicious attacks. The Php.ini file specifies the configuration settings PHP uses when it is running on your Web site. The Php.ini file determines what the PHP scripts are allowed to do and what the scripts are prohibited from doing. - -- Enable only the PHP extensions that your applications are going to use. Some PHP directives, such as register\_globals and allow\_url\_fopen, can pose security risks and should be disabled, if possible. Also, ensure the expose\_php directive is off so that PHP does not expose that it is installed on your server. -- Customize your PHP configuration so that only the functions and classes used by your application are enabled. Use the disable\_functions and disable\_classes PHP directives to supply a list of comma-separated functions and classes that you want to disable. -- Limit the **max\_execution\_time**, **max\_input\_time**, **memory\_limit**, **post\_max\_size** and **upload\_max\_filesize** to only what you need and what your server can handle. - -## Restrict HTTP Verbs and Use Request Filtering - -Consider restricting which HTTP verbs can be used by enabling only the verbs needed when configuring your PHP application mapping in IIS. For most PHP applications, you only need to enable GET, HEAD, and POST. You can use Request Filtering module, a security feature that restricts the types of HTTP requests processed by IIS. By blocking specific HTTP requests, Request Filtering helps prevent potentially harmful requests from being processed by Web applications on the server. Request Filtering can scan query strings and can customize rules to scan parts of your HTTP requests. - -Request Filtering module also includes a Hidden Segments feature which lets you define which segments are "servable." The Request Filtering module inspects known malicious patterns in the requests and prevents such requests from being serviced if the module determines that the requests may be harmful. For example, this module lets you filter requests that are double escaped, filter requests that use certain HTTP verbs, or block requests to specific folders. You can enforce tighter security policies on your Web servers with the Request Filtering module. You can also [configure WebDAV with request filtering](../../publish/using-webdav/how-to-configure-webdav-with-request-filtering.md). - -## Links for Further Information - -- [Secure Content Publishing](https://www.iis.net/overview/security/securecontentpublishing). diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database.md b/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database.md deleted file mode 100644 index 8aee6d467..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database.md +++ /dev/null @@ -1,177 +0,0 @@ ---- -title: "Secure Your SQL Server Database" -author: rick-anderson -description: "If you use Microsoft ® SQL Server ® as your database, you must create and implement an effective security plan. There is a wealth of information about how to..." -ms.date: 11/15/2009 -ms.assetid: 58dc712c-8707-4c10-a48c-58d4df35ae6f -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database -msc.type: authoredcontent ---- -# Secure Your SQL Server Database - -by Tali Smith - -## Introduction - -If you use Microsoft® SQL Server® as your database, you must create and implement an effective security plan. There is a wealth of information about how to secure a SQL Server database; this article touches on a few areas of particular interest to Web hosters and provides links for further information. - -Securing SQL Server can be viewed as a series of steps involving four areas: the platform, authentication, objects (including data), and applications that access the system. - -## Platform and Network Security - -The platform for SQL Server includes the physical hardware and networking systems connecting clients to the database servers and the binary files that are used to process database requests. - -### Physical Security - -Best practices for physical security strictly limit access to the physical server and hardware components. For example, use locked rooms with restricted access for the database server hardware and networking devices. In addition, limit access to backup media by storing it at a secure off-site location. - -Implementing physical network security starts with keeping unauthorized users off the network. The following table contains more information about networking security information. - -| **For information about** | **See** | -| --- | --- | -| Networking and SQL Server | [Network Protocols and Tabular Data Stream (TDS) Endpoints](https://msdn.microsoft.com/library/ms191220.aspx) | -| Specifying and restricting ports that are used for SQL Server | [Configuring Server Network Protocols and Net-Libraries](https://msdn.microsoft.com/library/ms177485.aspx) | -| Restricting network access to SQL Server | [Restricting Network Access](https://msdn.microsoft.com/library/ms174507.aspx) | -| Backup and restore strategies | [Security Considerations for Backup and Restore (SQL Server)](https://msdn.microsoft.com/library/ms190964.aspx) | - -### System Security - -Operating system service packs and upgrades include important security enhancements. Apply all updates and upgrades to the operating system after you test them with the database applications. - -Firewalls also provide effective ways to implement security. Logically, a firewall is a separator or restrictor of network traffic, which can be configured to enforce your organization's data security policy. If you use a firewall, you increase security at the operating system level by providing a chokepoint where your security measures can be focused. - -The following table contains more information about how to use a firewall with SQL Server. - -| **For information about** | **See** | -| --- | --- | -| Configuring a firewall to work with SQL Server | [How to: Configure a Windows® Firewall for Database Engine Access](https://msdn.microsoft.com/library/ms175043.aspx) | -| Configuring a firewall to work with Microsoft® SQL Server® Integration Services | [Configuring a Windows Firewall for Integration Services Access](https://msdn.microsoft.com/library/ms137861.aspx) | -| Configuring a firewall to work with Microsoft® SQL Server® Analysis Services | [How to: Configure Windows Firewall for Analysis Services Access](https://msdn.microsoft.com/library/ms174937.aspx) | -| Configuring a firewall to work with Microsoft® SQL Server® Reporting Services | [Server Deployment Checklist](https://msdn.microsoft.com/library/ms159689.aspx) | -| Opening specific ports on a firewall to enable access to SQL Server | [Opening Ports in the Firewall](https://msdn.microsoft.com/library/ms345310.aspx) | - -Surface-area reduction is a security measure that involves stopping or disabling unused components. Surface-area reduction helps improve security by providing fewer avenues for potential attacks on a system. The key to limiting the surface area of SQL Server includes running required services that have "least privilege" by granting services and users only the appropriate rights. - -The following table contains more information about services and system access. - -| **For information about** | **See** | -| --- | --- | -| Services required for SQL Server | [Setting Up Windows® Service Accounts](https://msdn.microsoft.com/library/ms143504.aspx) | -| Restricting server logon access | [Restricting Interactive Logon Access](https://msdn.microsoft.com/library/ms175588.aspx) | -| Local administration rights | [Granting Local Administrative Rights](https://msdn.microsoft.com/library/ms174494.aspx) | - -For Internet Information Services (IIS), additional steps are required to help secure the surface of the platform. - -The following table contains information about SQL Server and Internet Information Services. - -| **For information about** | **See** | -| --- | --- | -| IIS security with SQL Server Compact 3.5 SP1 | [IIS Security in SQL Server Compact 3.5 SP1 Books Online](https://technet.microsoft.com/library/bb283235.aspx) | -| Using Web services in SQL Server and IIS | [Best Practices for Using Native XML Web Services](https://msdn.microsoft.com/library/ms190399.aspx) | -| Report servers and Internet access | [Planning for Extranet or Internet Deployment](https://msdn.microsoft.com/library/ms159272.aspx) | -| Setting up forms security on a report server | [Readme\_Security Extension Sample](https://msdn.microsoft.com/library/ms160724.aspx) | -| Reporting Services Authentication | [Authentication in Reporting Services](https://msdn.microsoft.com/library/ms152899.aspx) | -| SQL Server Compact 3.5 SP1 and IIS access | [Internet Information Services Security Flowchart in SQL Server Compact 3.5 SP1 Books Online](https://technet.microsoft.com/library/ms172389.aspx) | - -### SQL Server Operating System Files Security - -SQL Server uses operating system files for operation and data storage. Best practices for file security require that you restrict access to these files. - -The following table contains information about these files. - -| **For information about** | **See** | -| --- | --- | -| SQL Server program files | [File Locations for Default and Named Instances of SQL Server](https://msdn.microsoft.com/library/ms143547.aspx) | -| Database file security | [Securing Data and Log Files](https://msdn.microsoft.com/library/ms189128.aspx) | -| Analysis Services file security | [Securing Program Files, Common Components, and Data Files](https://msdn.microsoft.com/library/ms174838.aspx) | - -SQL Server service packs and upgrades provide enhanced security. To determine the latest available service pack available for SQL Server, see the [SQL Server](https://go.microsoft.com/fwlink/?LinkID=31629) Web site. - -You can use the following script to determine the service pack installed on the system. - -[!code-sql[Main](secure-your-sql-server-database/samples/sample1.sql)] - -## Principals and Database Object Security - -Principals are the individuals, groups, and processes granted access to SQL Server. "Securables" are the server, database, and objects the database contains. Each has a set of permissions that can be configured to help reduce the SQL Server surface area. - -The following table contains information about principals and securables. - -| **For information about** | **See** | -| --- | --- | -| Server and database users, roles, and processes | [Principals (Database Engine)](https://msdn.microsoft.com/library/ms181127.aspx) | -| Server and database objects security | [Securable](https://msdn.microsoft.com/library/ms190401.aspx) | -| The SQL Server security hierarchy | [Permissions Hierarchy (Database Engine)](https://msdn.microsoft.com/library/ms191465.aspx) | - -For more information about database and application security, see [Identity and Access Control (Database Engine)](https://msdn.microsoft.com/library/bb510418.aspx). - -### Encryption and Certificates - -Encryption does not solve access control problems. However, encryption enhances security by limiting data loss even in the rare occurrence that access controls are bypassed. For example, if the database host computer is misconfigured and a malicious user obtains sensitive data, such as credit card numbers, that stolen information might be useless if it is encrypted. - -The following table contains more information about encryption in SQL Server. - -| **For information about** | **See** | -| --- | --- | -| The encryption hierarchy in SQL Server | [Encryption Hierarchy](https://msdn.microsoft.com/library/ms189586.aspx) | -| Encrypting SQL Server connections | [Encrypting Connections to SQL Server](https://msdn.microsoft.com/library/ms189067.aspx) | -| Implementing secure connections | [How to: Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager)](https://msdn.microsoft.com/library/ms191192.aspx) | -| Encryption functions | [Cryptographic Functions (Transact-SQL)](https://msdn.microsoft.com/library/ms173744.aspx) | -| Implementing encryption | [Encryption How-to Topics](https://msdn.microsoft.com/library/aa337557.aspx) | -| Setting up Analysis Services for data encryption | [Requiring Data Encryption](https://msdn.microsoft.com/library/ms175415.aspx) | - -Certificates are software "keys" shared between two servers that enable secure communications by way of strong authentication. You can create and use certificates in SQL Server to enhance object and connection security. - -The following table contains information about how to use certificates with SQL Server. - -| **For information about** | **See** | -| --- | --- | -| Using a certificate for secure connections | [Configuring Certificate for Use by SSL](https://msdn.microsoft.com/library/ms186362.aspx) | -| Creating a certificate for use by SQL Server | [CREATE CERTIFICATE (Transact-SQL)](https://msdn.microsoft.com/library/ms187798.aspx) | -| Using a certificate with SQL Server Service Broker | [Certificates and Service Broker](https://msdn.microsoft.com/library/ms166096.aspx) | -| Using a certificate with database mirroring | [Using Certificates for Database Mirroring](https://msdn.microsoft.com/library/ms191477.aspx) | - -## Application Security - -SQL Server security best practices include writing secure client applications. For more information about server access and SQL Server client applications, see [Developer's Guide (Database Engine)](/sql/relational-databases/database-engine-tutorials?view=sql-server-ver16&preserve-view=true). - -For more information about how to help secure client applications at the networking layer, see [Client Network Configuration](https://msdn.microsoft.com/library/ms190611.aspx). - -For more information about how to write applications that use native XML services, see [Writing Client Applications](https://msdn.microsoft.com/library/ms190173.aspx). - -## SQL Server Security Tools, Utilities, Views, and Functions - -SQL Server provides tools, utilities, views, and functions that can be used to configure and administer security. - -### SQL Server Security Tools and Utilities - -The following table contains information about SQL Server tools and utilities that you can use to configure and administer security. - -| **For information about** | **See** | -| --- | --- | -| Connecting to, configuring, and controlling SQL Server | [Introducing SQL Server Management Studio](https://msdn.microsoft.com/library/ms174173.aspx) | -| Connecting to SQL Server and running queries at the command prompt | [sqlcmd Utility](https://msdn.microsoft.com/library/ms162773.aspx) | -| Network configuration and control for SQL Server | [SQL Server Configuration Manager](https://msdn.microsoft.com/library/ms174212.aspx) | -| Enabling and disabling features by using policy-based management | [Administering Servers by Using Policy-Based Management](https://msdn.microsoft.com/library/bb510667.aspx) | -| Manipulating symmetric keys for a report server | [rskeymgmt Utility](https://msdn.microsoft.com/library/ms162822.aspx) | - -### SQL Server Security Catalog Views and Functions - -The Database Engine exposes security information in several views and functions that are optimized for performance and utility. - -The following table contains information about security views and functions. - -| **For information about** | **See** | -| --- | --- | -| SQL Server security catalog views, which return information about database-level and server-level permissions, principals, roles, and so on. In addition, there are catalog views that provide information about encryption keys, certificates, and credentials. | [Security Catalog Views (Transact-SQL)](https://msdn.microsoft.com/library/ms178542.aspx) | -| SQL Server security functions, which return information about the current user, permissions, and schemas | [Security Functions (Transact-SQL)](https://msdn.microsoft.com/library/ms186236.aspx) | -| SQL Server security dynamic management views | [Security-Related Dynamic Management Views and Functions (Transact-SQL)](https://msdn.microsoft.com/library/bb677257.aspx) | - -## Links for Further Information - -- [Securing SQL Server](https://msdn.microsoft.com/library/bb283235.aspx) -- [Security Considerations for a SQL Server Installation](https://msdn.microsoft.com/library/ms144228.aspx) -- [Secure Deployment (Database Engine)](https://msdn.microsoft.com/library/bb522545.aspx) -- [Security and Protection (Database Engine)](https://msdn.microsoft.com/library/bb510589.aspx) -- [Security Enhancements in Microsoft SQL Server 2008 video](https://mediadl.microsoft.com/mediadl/IISNET/Media/Security%20Enhancements%20in%20Microsoft%20SQL%20Server%202008.wmv) -- [SQL Server 2008 for Hosters](../../web-hosting/configuring-servers-in-the-windows-web-platform/sql-2008-for-hosters.md) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database/samples/sample1.sql b/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database/samples/sample1.sql deleted file mode 100644 index cdbbde2b4..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/secure-your-sql-server-database/samples/sample1.sql +++ /dev/null @@ -1,2 +0,0 @@ -SELECT CONVERT(char(20), SERVERPROPERTY('productlevel')); -GO \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md deleted file mode 100644 index 5c7b87fb5..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Setting Up a Database for a PHP Application on IIS" -author: rick-anderson -description: "SQL Server is a database built and supported by Microsoft. Many PHP applications support SQL Server as their back end data repository. These instructions ass..." -ms.date: 01/14/2008 -ms.assetid: e307bd5a-a9da-4b89-ab4f-2e18acab3d55 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis -msc.type: authoredcontent ---- -# Setting Up a Database for a PHP Application on IIS - -by Eric Woersching - -## Set Up a SQL Server Database from Microsoft SQL Server Management Studio Express - -SQL Server is a database built and supported by Microsoft. Many PHP applications support SQL Server as their back end data repository. These instructions assume that you already have SQL Server installed and running. For this walkthrough, we used SQL Server® 2005. You can also use MySQL, SQL Server® Express or others. - -Before starting the install, create a database on your database server. Also create a user and grant this user ownership permission to the database. If you are using SQL Server 2005, then open Microsoft SQL Server Management Studio and click "New Query" button. Enter the following script into the query window (this script creates the database and user). - -[!code-sql[Main](setting-up-a-database-for-a-php-application-on-iis/samples/sample1.sql)] - -In addition, grant the newly created user the db\_owner permissions to my\_DB database: - -[![Screenshot shows the Database User dialog box for my_D B user, with d b_owner selected as a Role Member.](setting-up-a-database-for-a-php-application-on-iis/_static/image3.jpg)](setting-up-a-database-for-a-php-application-on-iis/_static/image1.jpg) - -## Setup a MySQL Database from the Command Line - -MySQL is a popular database supported by most PHP applications as their back end data repository. These instructions assume that you already have MySQL installed and running. - -Before starting the installation procedure for your PHP application, create a database on your server. Also create a database user and grant this user ownership permission to the database. First, log on to your MySQL server with a command similar to the following (you must log on with an account with admin privileges; in our case 'root'): - -[!code-console[Main](setting-up-a-database-for-a-php-application-on-iis/samples/sample2.cmd)] - -You then must provide the password to your root or admin account on the MySQL server. - -Next, create a database for the your application at the MySQL prompt after logging in: - -[!code-console[Main](setting-up-a-database-for-a-php-application-on-iis/samples/sample3.cmd)] - -To create the database, download the MySql GUI-Tools from: . Then you can create the database using a simple `create database cslh` command using the MySQL Query Browser. - -Next, create the account that will be used with your PHP application to access this particular database: - -[!code-console[Main](setting-up-a-database-for-a-php-application-on-iis/samples/sample4.cmd)] - -This command creates the account, sets the password, and sets the privileges all in one line: - -- `GRANT ALL PRIVILEGES ON my_DB.*` - This statement says to allow all privileges for the account but only for the 'my\_DB' database and all of its tables. -- `TO 'my_DBuser'@'%'` - This statement specifies the account name and which machines can login with this account. In this case, 'my\_DBuser' is the name of the account that will be created and '%' means that you can login to the account from anywhere. If '%' was replaced with localhost or a specific IP address you could only login to the database from that location. -- `IDENTIFIED BY 'my_DBpass';` - This statement sets the password for the account to 'my\_DBpass' and ends the entire command with a semi-colon. - -> [!NOTE] -> Refer to the MySQL documentation for more complete information on managing user accounts and privileges. diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image1.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image1.jpg deleted file mode 100644 index 463b7fe07..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image2.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image2.jpg deleted file mode 100644 index 463b7fe07..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image3.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image3.jpg deleted file mode 100644 index 463b7fe07..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image4.jpg b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image4.jpg deleted file mode 100644 index 463b7fe07..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample1.sql b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample1.sql deleted file mode 100644 index 4e1438049..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample1.sql +++ /dev/null @@ -1,17 +0,0 @@ -USE [master] -GO - -CREATE DATABASE my_DB -GO - -CREATE LOGIN [my_DBuser] -WITH PASSWORD=N'pass@word1', - DEFAULT_DATABASE=[my_DB], - CHECK_EXPIRATION=OFF, - CHECK_POLICY=OFF -GO - -USE [my_DB] -GO - -CREATE USER [my_DBuser] FOR LOGIN [my_DBuser] WITH DEFAULT_SCHEMA=[dbo] \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample2.cmd deleted file mode 100644 index ef56c5509..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -c:\> mysql -u root -p \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample3.cmd deleted file mode 100644 index acfaa6fbe..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -mysql>CREATE DATABASE my_DB; \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample4.cmd deleted file mode 100644 index 8ff92ff9e..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -mysql> GRANT ALL PRIVILEGES ON my_DB.* TO 'my_DBuser'@'%' IDENTIFIED BY 'my_DBpass'; \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php.md b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php.md deleted file mode 100644 index d45b09394..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php.md +++ /dev/null @@ -1,180 +0,0 @@ ---- -title: "Use the Windows Cache Extension for PHP" -author: ruslany -description: "Introduction The Windows Cache Extension for PHP is a PHP accelerator that is used to significantly increase the speed of PHP applications running on the Win..." -ms.date: 09/01/2009 -ms.assetid: 22a3d794-4052-4af9-ac04-43130bac2f35 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php -msc.type: authoredcontent ---- -# Use the Windows Cache Extension for PHP - -by [Ruslan Yakushev](https://github.com/ruslany) - -## Introduction - -The Windows Cache Extension for PHP is a PHP accelerator that is used to significantly increase the speed of PHP applications running on the Windows® operating system. Any PHP application can take advantage of the functionality provided by the Windows Cache Extension for PHP without any code modifications. All that is required is that the extension is enabled and loaded by the PHP engine. - -The Windows Cache Extension includes three different types of caches: - -- **PHP Opcode Cache** - PHP is a script processing engine that reads an input stream of data that contains text and/or PHP instructions and produces another stream of data, most commonly in the HTML format. This means that on a Web server, the PHP engine reads, parses, compiles, and executes a PHP script each time that it is requested by a Web client. The reading, parsing, and compilation operations put additional load on the Web server's CPU and file system and thus affect the overall performance of a PHP Web application. The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so that it can be reused by the PHP engine for subsequent executions of the same script. -- **File Cache** - Even with the PHP bytecode cache enabled, the PHP engine has to accesses the script files on a file system. When PHP scripts are stored on a remote universal naming convention (UNC) file share, the file operations introduce a significant performance overhead. The Windows Cache Extension for PHP includes a file cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine. -- **Relative File Path Cache** - PHP scripts very often include or operate with files by using relative file paths. Every relative file path has to be converted to an absolute file path by the PHP engine. When a PHP application uses many PHP files and accesses them by relative paths, the operation of resolving relative paths to absolute paths may have a negative impact on the application's performance. The Windows Cache Extension for PHP provides a relative file path cache, which is used to store the mappings between relative and absolute file paths, thereby reducing the number of relative path resolutions that the PHP engine has to perform. - -## Install the Windows Cache Extension for PHP - -There are two packages for the extension: one package is for PHP versions 5.2.X, and the other package is for PHP 5.3.X. Make sure that you use the appropriate package for your version of PHP. - -1. Unpack the package that is appropriate for the PHP version you are using. -2. Copy the **Php\_wincache.dll** file into the PHP extensions folder. Typically this folder is called "ext" and it is located in the same folder with all PHP binary files. For example: - - [!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample1.cmd)] -3. Using a text editor, open the **Php.ini** file, which is usually located in the same folder where all PHP binary files are. For example: - - [!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample2.cmd)] -4. Add the following line at the end of the **Php.ini** file: - - [!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample3.cmd)] -5. Save and close the Php.ini file. -6. Recycle your Internet Information Services (IIS) application pools for PHP to pick up the configuration changes. -7. To check that the extension has been enabled, create a file called **phpinfo.php** with the following PHP code that calls phpinfo() function: - - [!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample4.cmd)] -8. Save the Phpinfo.php file in the root folder of an IIS Web site that uses PHP. -9. Open a browser and make a request to `http://yoursitename/phpinfo.php`. -10. Search within the returned Web page for a section called "wincache". If the extension is enabled, then you should see the configuration settings provided by the Windows Cache Extension for PHP. - -> [!IMPORTANT] -> Do not forget to remove the **Phpinfo.php** file from the Web site's root folder after you have confirmed that extension has been enabled. - -## Compatibility Notes - -The extension is supported only on the following configurations: - -Windows operating system: - -- Windows® XP Service Pack 3 (SP3) with IIS 5.1 and FastCGI Extension -- Windows Server® 2003 with IIS 6.0 and FastCGI Extension -- Windows Vista® SP1 with IIS 7.0 and FastCGI Module -- Windows Server® 2008 with IIS 7.0 and FastCGI Module -- Windows® 7 with IIS 7 and FastCGI Module -- Windows Server® 2008 R2 with IIS 7.0 and FastCGI Module - -PHP: - -- PHP 5.2.X, Non-thread-safe build -- PHP 5.3 X86, Non-thread-safe VC9 build - -> [!IMPORTANT] -> The Windows Cache Extension can only be used when IIS is configured to run PHP via FastCGI. - -## Configuration Settings - -The following table lists and describes the configuration settings provided by the Windows Cache Extension for PHP: - -### Table 1 : Configuration Settings - -| **Setting** | **Default** | **Minimum** | **Maximum** | **Changeable** | **Description** | -| --- | --- | --- | --- | --- | --- | -| wincache.fcenabled | 1 (On) | 0 (Off) | 1 (On) | PHP\_INI\_ALL | Enables or disables the file cache functionality. | -| wincache.fcachesize | 24 | 5 | 85 | PHP\_INI\_SYSTEM | Defines the maximum memory size (in megabytes) that is allocated for the file cache. If the total size of all the cached files exceeds the value specified in this setting, then most stale files will be removed from the file cache. | -| wincache.maxfilesize | 256 | 10 | 2048 | PHP\_INI\_SYSTEM | Defines the maximum allowed size (in kilobytes) for a single file to be cached. If a file size exceeds the specified value, the file will not be cached. This setting applies to the file cache only. | -| wincache.ocenabled | 1 (On) | 0 (Off) | 1 (On) | PHP\_INI\_ALL | Enables or disables the opcode cache functionality | -| wincache.ocachesize | 96 | 15 | 255 | PHP\_INI\_SYSTEM | Defines the maximum memory size (in megabytes) that is allocated for the opcode cache. If the cached opcode size exceeds the specified value, then most stale opcode will be removed from the cache. Note that the opcode cache size must be at least 3 times bigger than file cache size. If that is not the case the opcode cache size will be automatically increased. | -| wincache.filecount | 4096 | 1024 | 16384 | PHP\_INI\_SYSTEM | Defines how many files are expected to be cached by the extension, so that appropriate memory size is allocated at the startup time. If the number of files exceeds the specified value, the Windows Cache Extension for PHP will re-allocate more memory as needed. | -| wincache.chkinterval | 30 | 2 | 300 | PHP\_INI\_SYSTEM | Defines how often (in seconds) the Windows Cache Extension for PHP checks for file changes in order to refresh the cache. | -| wincache.ttlmax | 1200 | 60 | 7200 | PHP\_INI\_SYSTEM | Defines the maximum time to live (in seconds) for a cached entry without being used. | -| wincache.ignorelist | no value | no value | no value | PHP\_INI\_ALL | Defines a list of files that should not be cached by the Windows Cache Extension for PHP. The files list is specified by using file names only, separated by the pipe symbol - "|". For example: `wincache.ignorelist = "index.php|misc.php|admin.php"` | -| wincache.namesalt | no value | no value | no value | PHP\_INI\_SYSTEM | Defines a string that will be used when naming the cached objects that are stored in shared memory. This is used to avoid conflicts that may be caused if other applications within an IIS worker process try to access shared memory. | - -## Configure FastCGI for Optimal Performance - -The FastCGI module in IIS has a configuration setting [maxInstances](../../configuration/system.webServer/fastCgi/application/index.md) that controls the number of concurrently running Php-cgi.exe processes that IIS creates to process PHP requests. To achieve optimal performance, it is recommended that you fine tune this setting for your specific environment, starting with 8–10 instances per CPU core (for example, maxInstances=32 for a quad-core CPU). - -The Windows Cache Extension for PHP caches the compiled PHP opcode in the shared memory, which helps to avoid redoing of such CPU intensive operations as parsing and compiling of the PHP source code. This means that when Windows Cache Extension for PHP is enabled, fewer CPU cycles are required for a Web server to process PHP requests. Because of that, the previously configured value for the FastCGI maxInstances setting may not be adequate to load the server's CPU completely, and it may be necessary to increase the value further. - -To increase the maxInstances value on IIS 7, run this command from an elevated command prompt: - -[!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample5.cmd)] - -> [!NOTE] -> Replace the fullPath with the path to **Php-cgi.exe** on your server. - -Alternatively, you can edit the `` section of the **ApplicationHost.config** file located at `C:\Windows\System32\inetsrv\config\` folder: - -[!code-xml[Main](use-the-windows-cache-extension-for-php/samples/sample6.xml)] - -To increase the maxInstances value on IIS 5.1 and IIS 6.0 run this command: - -[!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample7.cmd)] - -> [!NOTE] -> Replace the section name if necessary. - -Alternatively, you can edit the **Fcgiext.ini** file located at `C:\Windows\System32\inetsrv\` folder: - -[!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample8.cmd)] - -When you measure the performance of the Windows Cache Extension for PHP, make sure to monitor the CPU usage. If you see that the CPU is not fully utilized, try increasing the FastCGI maxInstances setting to get better performance. - -## Extension Functions - -The Windows Cache Extension for PHP provides several functions that can be called from a PHP script to return extension-specific information about the cache internals. These functions are listed below: - -### Table 2: Extension Functions - -| **Function Name** | **Description** | **Return Values** | -| --- | --- | --- | -| array wincache\_fcache\_fileinfo() | Retrieves information about files cached in the file cache | An array of cached files and metadata or FALSE on failure | -| array wincache\_fcache\_meminfo() | Retrieves information about file cache memory usage | An array of data about memory usage or FALSE on failure | -| array wincache\_ocache\_fileinfo() | Retrieves information about files cached in the opcode cache | An array of cached files and metadata or FALSE on failure | -| array wincache\_ocache\_meminfo() | Retrieves information about memory usage by the opcode cache | An array of data about memory usage or FALSE on failure | -| array wincache\_rplist\_fileinfo() | Retrieves information about cached mappings between relative file paths and corresponding absolute file paths | An array of cached relative file paths or FALSE on failure | -| array wincache\_rplist\_meminfo() | Retrieves information about memory usage by the relative file path cache | An array of data about memory usage or FALSE on failure | -| array wincache\_refresh\_if\_changed() | Refreshes the cache entries for the files, whose names were passed in the input argument. If no argument is specified then refreshes all the entries in the cache | Returns TRUE on success or FALSE on failure | - -## Example: Obtain Cache Information - -To retrieve information about entries in the file cache, use the following code: - -[!code-xml[Main](use-the-windows-cache-extension-for-php/samples/sample9.xml)] - -This will produce output similar to the following: - -[!code-csharp[Main](use-the-windows-cache-extension-for-php/samples/sample10.cs)] - -## Example: Refresh a Cache Entry - -Windows Cache Extension for PHP performs regular checks on the cached files to ensure that if any file has changed, then the corresponding entry in the cache is updated. By default, this check is performed every 30 seconds. For example, suppose you have a PHP script that updates another PHP script that stores application configuration settings. After the new configuration settings have been saved to a file, the application might still use the old settings until the cache is refreshed. It would be preferable to refresh the cache right after the file has been changed. - -The following example shows how you can refresh a cache entry: - -[!code-xml[Main](use-the-windows-cache-extension-for-php/samples/sample11.xml)] - -## Use the Windows Cache Extension for PHP Statistics Script - -The installation package for Windows Cache Extension 1.0 for PHP includes a PHP script, **wincache.php**, that can be used to obtain cache information and statistics. - -![Screenshot that shows Windows Cache Extension statistics.](use-the-windows-cache-extension-for-php/_static/image1.png) - -If the Windows Cache Extension for PHP was installed via Web Platform Installer, then this script is located in `%SystemDrive%\Program Files\IIS\Windows Cache for PHP\`. On a 64-bit version of the Windows Server operating system, the script is located in `%SystemDrive%\Program Files (x86)\IIS\Windows Cache` for PHP. If the extension was installed manually, then the **Wincache.php** will be located in the same folder from which the content of the installation package was extracted. - -To use **Wincache.php**, copy it into a root folder of your Web site or into any subfolder. To protect the script, open it in any text editor and change the values for the USERNAME and PASSWORD constants. If any other IIS authentication is enabled on the server then follow the instructions in the comments: - -[!code-console[Main](use-the-windows-cache-extension-for-php/samples/sample12.cmd)] - -> [!IMPORTANT] -> Always protect the **wincache.php** script by using either the built-in authentication or the server's authentication mechanism. Leaving this script unprotected may compromise the security of your web application and web server. - -> [!NOTE] -> This article updates: "Using Windows Cache Extension for PHP" by Ruslan Yakushev, published on October, 2009. - -## See also - -- [IIS 7.0 Output Caching](../../manage/managing-performance-settings/walkthrough-iis-output-caching.md) -- [IIS7 Output Caching for Dynamic Content - Speed Up Your ASP and PHP Applications](https://blogs.iis.net/bills/archive/2007/05/02/iis7-output-caching-for-dynamic-content-dramatically-speed-up-your-asp-and-php-applications.aspx) -- [Windows Cache Extension for PHP](https://www.iis.net/downloads/microsoft/wincache-extension) -- [Improving Performance with Native Output Caching](../../manage/managing-performance-settings/improving-performance-with-native-output-caching.md) diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/_static/image1.png b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/_static/image1.png deleted file mode 100644 index 184eb8493..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample1.cmd deleted file mode 100644 index 0f3ef03d3..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -"C:\Program Files\PHP\ext" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample10.cs b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample10.cs deleted file mode 100644 index 7ac2e23c3..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample10.cs +++ /dev/null @@ -1,21 +0,0 @@ -Array -( - [total_file_count] => 1 - - [total_hit_count] => 0 - [total_miss_count] => 1 - [file_entries] => Array - ( - [1] => Array - ( - [file_name] => C:\inetpub\wwwroot\checkcache.php - [add_time] => 1 - [use_time] => 0 - [last_check] => 1 - [hit_count] => 1 - [function_count] => 0 - [class_count] => 0 - ) - [2] => Array (...iterates for each cached file) - ) -) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample11.xml b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample11.xml deleted file mode 100644 index 9862b3f0d..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample11.xml +++ /dev/null @@ -1,10 +0,0 @@ -' ); -fclose( $handle ); -wincache_refresh_if_changed( array($filename) ); - -?> \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample12.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample12.cmd deleted file mode 100644 index e73406534..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample12.cmd +++ /dev/null @@ -1,26 +0,0 @@ -/** - * ======================== CONFIGURATION SETTINGS ============================== - * If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0. - * If you use authentication then replace the default password. - */ -define('USE_AUTHENTICATION', 1); -define('USERNAME', 'wincache'); -define('PASSWORD', 'wincache'); - -/** - * The Basic PHP authentication will work only when IIS is configured to support - * Anonymous Authentication' and nothing else. If IIS is configured to support/use - * any other kind of authentication like Basic/Negotiate/Digest etc, this will not work. - * In that case use the array below to define the names of users in your - * domain/network/workgroup which you want to grant access to. - */ -$user_allowed = array('DOMAIN\user1', 'DOMAIN\user2', 'DOMAIN\user3'); - -/** - * If the array contains string 'all', then all the users authenticated by IIS - * will have access to the page. Uncomment the below line and comment above line - * to grant access to all users who gets authenticated by IIS. - */ -/* $user_allowed = array('all'); */ - -/** ===================== END OF CONFIGURATION SETTINGS ========================== */ \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample2.cmd deleted file mode 100644 index 3563589a2..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\Program Files\PHP\php.ini" \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample3.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample3.cmd deleted file mode 100644 index 20776e19e..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -extension=php_wincache.dll \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample4.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample4.cmd deleted file mode 100644 index c5620bac1..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -php phpinfo(); ?> \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample5.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample5.cmd deleted file mode 100644 index 3bc137fce..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample5.cmd +++ /dev/null @@ -1,3 +0,0 @@ -appcmd.exe set config -section:system.webServer/fastCgi -/[fullPath='C:\PHP\php-cgi.exe',arguments=''].maxInstances:"32" -/commit:apphost \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample6.xml b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample6.xml deleted file mode 100644 index 4e9ede1e7..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample6.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample7.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample7.cmd deleted file mode 100644 index c388a628c..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample7.cmd +++ /dev/null @@ -1 +0,0 @@ ->cscript C:\windows\system32\inetsrv\fcgiconfig.js -set -section:"PHP" –MaxInstances:32 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample8.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample8.cmd deleted file mode 100644 index 56c2b5932..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample8.cmd +++ /dev/null @@ -1,4 +0,0 @@ -[PHP] -ExePath=C:\PHP\php-cgi.exe -;some other settings may go here -MaxInstances=32 \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample9.xml b/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample9.xml deleted file mode 100644 index a7acaecd6..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/use-the-windows-cache-extension-for-php/samples/sample9.xml +++ /dev/null @@ -1,5 +0,0 @@ -
-
-
\ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/using-php-manager-for-iis-to-setup-and-configure-php.md b/iis/application-frameworks/install-and-configure-php-on-iis/using-php-manager-for-iis-to-setup-and-configure-php.md deleted file mode 100644 index e34217d64..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/using-php-manager-for-iis-to-setup-and-configure-php.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "Using PHP Manager for IIS to setup and configure PHP" -author: ruslany -description: "From the Downloads page select the installation package that is appropriate for your target machine. Download and run the installer, which will install and r..." -ms.date: 6/1/2020 -ms.assetid: 9e07564f-3c41-4d22-ba76-3daaf0847db9 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/using-php-manager-for-iis-to-setup-and-configure-php -msc.type: authoredcontent ---- - -# Using PHP Manager for IIS to setup and configure PHP - -by [Ruslan Yakushev](https://github.com/ruslany), [Lex Li](https://github.com/lextm) - -PHP Manager is not a Microsoft-owned or supported product. -### Installation - -From the [Downloads](https://github.com/phpmanager/phpmanager/releases) 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: - -[http://www.phpmanager.xyz/latest/_images/phpmanager.png](http://www.phpmanager.xyz/latest/_images/phpmanager.png) - -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. - -### 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/](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](https://php.iis.net/) or the Windows installer from [http://windows.php.net/](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**: - -[http://www.phpmanager.xyz/latest/_images/register.png](http://www.phpmanager.xyz/latest/_images/register.png) - -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. - -### Validating existing PHP installations and fixing configuration issues - -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: - -[http://www.phpmanager.xyz/latest/_images/warning.png](http://www.phpmanager.xyz/latest/_images/warning.png) - -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: - -[http://www.phpmanager.xyz/latest/_images/fixed.png](http://www.phpmanager.xyz/latest/_images/fixed.png) - -### 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. - -[http://www.phpmanager.xyz/latest/_images/switch.png](http://www.phpmanager.xyz/latest/_images/switch.png) - -### 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. - -[http://www.phpmanager.xyz/latest/_images/error.png](http://www.phpmanager.xyz/latest/_images/error.png) - -### Configuring Runtime Limits - -Various timeouts and limits can be configured in the "**PHP Runtime Limits**" page: - -[http://www.phpmanager.xyz/latest/_images/limits.png](http://www.phpmanager.xyz/latest/_images/limits.png) - -### Configuring All PHP Settings - -All existing PHP settings can be added, removed and modified in the "**PHP Settings**" page. - -[http://www.phpmanager.xyz/latest/_images/settings.png](http://www.phpmanager.xyz/latest/_images/settings.png) - -### Enabling or Disabling PHP Extensions - -PHP extensions can be enabled or disabled in the "**PHP Extensions**" page: - -[http://www.phpmanager.xyz/latest/_images/extentions.png](http://www.phpmanager.xyz/latest/_images/extentions.png) \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications.md b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications.md deleted file mode 100644 index 34f7d38e1..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: "Walkthrough - Set Up MySQL 5.1 for PHP applications" -author: ruslany -description: "Overview This article provides a basic step by step guide on how to install and configure MySQL on the Windows Operating System. For more detailed instructio..." -ms.date: 03/18/2009 -ms.assetid: 361e07d9-1737-4f84-890b-406bd8c51506 -msc.legacyurl: /learn/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications -msc.type: authoredcontent ---- -# Walkthrough - Set Up MySQL 5.1 for PHP applications - -by [Ruslan Yakushev](https://github.com/ruslany) - -## Overview - -This article provides a basic step by step guide on how to install and configure MySQL on the Windows Operating System. For more detailed instructions about installing and configuring MySQL on Windows refer to the [official MySQL documentation](http://dev.mysql.com/doc/refman/5.1/en/windows-installation.html). - -## Downloading and Installing MySQL - -The MySQL binaries and installer can be downloaded from the [official MySQL site](http://dev.mysql.com/downloads/mysql/5.1.html). The instructions in this article are based on MySQL version 5.1 Community Edition installed with the Windows MSI installer. - -Run the installer and choose the installation option. For a majority of the cases, the typical installation is sufficient: - -![Screenshot of the My S Q L Setup Wizard screen with the Typical Setup type selected.](walkthrough-set-up-mysql-51-for-php-applications/_static/image2.png) - -However, if you want to control which components get installed or if you want to use a non-default installation path then choose the "Custom" option. - -When the installation is complete, make sure to check the box to "Configure the MySQL Server now". This will launch the "MySQL Server Instance Configuration Wizard" that will guide you through the configuration process for the MySQL instance. - -![Screenshot of the My S Q L Server Setup Wizard on the Wizard Completed page.](walkthrough-set-up-mysql-51-for-php-applications/_static/image4.png) - -## Configuring MySQL instance - -Follow these steps in the "MySQL Server Instance Configuration Wizard" to optimize the MySQL configuration for the kind of tasks you expect it to perform. - -On the first page of the wizard choose "Detailed Configuration": - -![Screenshot of the My S Q L Server Instance Configuration Wizard on the configuration type page. The Detailed Configuration type is selected.](walkthrough-set-up-mysql-51-for-php-applications/_static/image6.png) - -On the next page choose the server type option: - -![Screenshot of the My S Q L Server Instance Configuration Wizard on the server instance page. The Developer Machine option is selected.](walkthrough-set-up-mysql-51-for-php-applications/_static/image8.png) - -Choose the "Database Usage" option: - -![Screenshot of the My S Q L Server Instance Configuation Wizard on the database usage page. Non-Transactional Database Only is selected.](walkthrough-set-up-mysql-51-for-php-applications/_static/image10.png) - -The Database usage options control what kind of database storage engine is used on the server: - -- MyISAM – Optimized for high performance SELECT operations. It has low overhead in terms of memory usage and disk utilization, but at the cost of not supporting transactions -- InnoDB – Provides fully ACID transactional capabilities, but at the cost of more aggressive usage of disk space and memory - -For an in-depth comparison of these database engines, refer to [MySQL Storage Engine Architecture](http://dev.mysql.com/tech-resources/articles/storage-engine/part_1.html). As a general recommendation – if the web applications on your server require multi-statement transactions, advanced isolation levels and row-level locking, foreign key constraints, or otherwise have a requirement for ACID features -- use InnoDB. Otherwise, use MyISAM. - -Next choose the number of concurrent connections to the server: - -![Screenshot of the My S Q L Server Instance Configuration Wizard on the concurrent connections page. Decision Support (D S S)/O L A P is selected. ](walkthrough-set-up-mysql-51-for-php-applications/_static/image12.png) - -On the next page choose networking options : - -![Screenshot of the My S Q L Server Instance Configuration Wizard on the networking options page. Enable T C P/I P Networking and Enable Strict Mode are selected. ](walkthrough-set-up-mysql-51-for-php-applications/_static/image14.png) - -If you have mysql and web server on the same machine you may consider not enabling TCP/IP networking and instead use named pipes. Note though that some PHP applications may require TCP connection to MySQL. Refer to the application's documentation to confirm if it supports named pipes connection to MySQL. - -Choose the default charset to use when creating new databases: - -![Screenshot of the My S Q L Server Instance Configuration Wizard on the default character page. Standard Character Set is selected.](walkthrough-set-up-mysql-51-for-php-applications/_static/image16.png) - -Next ensure that MySQL will be configured as a Windows Service: - -![Screenshot of the My S Q L Server Instance Configuration Wizard on the Windows options page. Install as a Windows Service and Include Bin Directory in Windows Path are selected.](walkthrough-set-up-mysql-51-for-php-applications/_static/image18.png) - -Optionally, you can add the MySQL Bin directory to the Windows PATH environment variable. That will make it easier to launch MySQL tools from the command line. - -Finally provide the password for the database administrative account, which in called "root" in MySQL. Make sure that you leave the "Create an Anonymous Account" checkbox cleared: - -![Screenshot of the My S Q L Server Instance Configuration Wizard on the security options page. Modify Security Settings is selected.](walkthrough-set-up-mysql-51-for-php-applications/_static/image20.png) - -On the next page click "Execute" to apply all the configuration settings and to start the MySQL service: - -![Screenshot of the My S Q L Server Instance Configuration Wizard completion page.](walkthrough-set-up-mysql-51-for-php-applications/_static/image22.png) - -Now you can logon to MySQL by opening a command line window and typing: - -[!code-console[Main](walkthrough-set-up-mysql-51-for-php-applications/samples/sample1.cmd)] - -If MySQL was configured correctly then the MySQL prompt will be shown: - -[!code-console[Main](walkthrough-set-up-mysql-51-for-php-applications/samples/sample2.cmd)] diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image1.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image1.png deleted file mode 100644 index e0870dec3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image1.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image10.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image10.png deleted file mode 100644 index e0870dec3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image10.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image11.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image11.png deleted file mode 100644 index e0870dec3..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image11.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image12.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image12.png deleted file mode 100644 index 749788e54..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image12.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image13.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image13.png deleted file mode 100644 index 749788e54..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image13.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image14.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image14.png deleted file mode 100644 index e16a0ebf9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image14.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image15.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image15.png deleted file mode 100644 index e16a0ebf9..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image15.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image16.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image16.png deleted file mode 100644 index 44b7e336f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image16.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image17.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image17.png deleted file mode 100644 index 44b7e336f..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image17.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image18.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image18.png deleted file mode 100644 index fc02be1d5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image18.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image19.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image19.png deleted file mode 100644 index fc02be1d5..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image19.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image2.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image2.png deleted file mode 100644 index 4641d634e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image2.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image20.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image20.png deleted file mode 100644 index 7a8262ead..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image20.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image21.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image21.png deleted file mode 100644 index 7a8262ead..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image21.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image22.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image22.png deleted file mode 100644 index e9ce96d57..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image22.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image23.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image23.png deleted file mode 100644 index e9ce96d57..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image23.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image3.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image3.png deleted file mode 100644 index 4641d634e..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image3.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image4.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image4.png deleted file mode 100644 index 5d468c738..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image4.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image5.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image5.png deleted file mode 100644 index 5d468c738..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image5.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image6.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image6.png deleted file mode 100644 index 65f0d3acb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image6.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image7.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image7.png deleted file mode 100644 index 65f0d3acb..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image7.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image8.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image8.png deleted file mode 100644 index 0aada6064..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image8.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image9.png b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image9.png deleted file mode 100644 index 0aada6064..000000000 Binary files a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/_static/image9.png and /dev/null differ diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/samples/sample1.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/samples/sample1.cmd deleted file mode 100644 index 5b32ed03c..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/samples/sample1.cmd +++ /dev/null @@ -1,2 +0,0 @@ -mysql -u root -p -Enter password: ****** \ No newline at end of file diff --git a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/samples/sample2.cmd b/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/samples/sample2.cmd deleted file mode 100644 index ce548c8de..000000000 --- a/iis/application-frameworks/install-and-configure-php-on-iis/walkthrough-set-up-mysql-51-for-php-applications/samples/sample2.cmd +++ /dev/null @@ -1,5 +0,0 @@ -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 3 -Server Version 5.1.32-community MySQL Community Server (GPL) -Type 'help;' or '\h' for help. Type '\c' to clear the buffer. -mysql> \ No newline at end of file diff --git a/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md b/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md index 18f543886..c1eb69226 100644 --- a/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md +++ b/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md @@ -461,6 +461,5 @@ Test your website thoroughly to ensure that it functions as expected. Then consi - [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) - [Build a Static Website on IIS](../../manage/creating-websites/scenario-build-a-static-website-on-iis.md) - [Build an ASP.NET Website on IIS](../scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) -- [Build a PHP Website on IIS](../scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) - [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) - [Build a Web Farm with IIS Servers](../../web-hosting/scenario-build-a-web-farm-with-iis-servers/overview-build-a-web-farm-with-iis-servers.md) diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform.md b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform.md deleted file mode 100644 index 6d0b909e8..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform.md +++ /dev/null @@ -1,289 +0,0 @@ ---- -title: "Best Practices for PHP on the Microsoft Web Platform" -author: rick-anderson -description: "Introduction There are various steps you can take to optimize Windows Server 2008 R2 or Windows Server 2008, IIS 7 and above, and FastCGI performance for you..." -ms.date: 11/15/2009 -ms.assetid: 75b33d8e-3c3e-472e-9973-b41ced1a7ebb -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform -msc.type: authoredcontent ---- -# Best Practices for PHP on the Microsoft Web Platform - -by Tali Smith - -## Introduction - -There are various steps you can take to optimize Windows Server 2008 R2 or Windows Server 2008, IIS 7 and above, and FastCGI performance for your Web workloads and PHP applications. These procedures can be generally be performed from the UI by running Appcmd.exe commands in a command-line window and editing configuration files directly or by writing Windows® Management Instrumentation (WMI) scripts. - -## Configure PHP Process Recycling Behavior - -Make sure that FastCGI always recycles the php-cgi.exe processes before the native PHP recycling kicks in. The FastCGI process recycling behavior is controlled by the configuration property **instanceMaxRequests**. This property specifies how many requests the FastCGI process will process before recycling. PHP also has a similar process recycling functionality that is controlled by an environment variable **PHP\_FCGI\_MAX\_REQUESTS**. By setting **instanceMaxRequests** to be smaller or equal to **PHP\_FCGI\_MAX\_REQUESTS**, you can ensure that the native PHP process recycling logic will never kick in. - -The FastCGI settings can be configured either by using IIS Manager or by using the command-line tool **AppCmd**. - -### Use IIS Manager - -1. To configure FastCGI recycling settings by using IIS Manager, you need to install Administration Pack for IIS, and then select **FastCGI Settings** at the server level. - - ![Screenshot of the I I S Manager window.](best-practices-for-php-on-the-microsoft-web-platform/_static/image1.jpg) - - *Figure 1 IIS Manager, FastCGI Settings* -2. Next, select the FastCGI application that you want to configure, and then click **Edit** in the **Actions** pane on right-hand side. - - ![Screenshot of the I I S Manager window showing Fast C G I Settings in the main pane.](best-practices-for-php-on-the-microsoft-web-platform/_static/image3.jpg) - - *Figure 2 FastCGI Settings page* -3. In the **Edit FastCGI** **Application** dialog box, set **InstanceMaxRequest** to **10000**, and then click on the **browse** button next to the **EnvironmentVariables** setting. - - ![Screenshot of the Edit Fast C G I Application dialog. Environment variables is highlighted.](best-practices-for-php-on-the-microsoft-web-platform/_static/image5.jpg) - - *Figure 3 Edit FastCGI Application dialog box* -4. Add the **PHP\_FCGI\_MAX\_REQUESTS** environment variable and set its value to **10000**. - - > [!NOTE] - > If you do not configure these settings, then the following default settings are used: **InstanceMaxRequests** of 200, **PHP\_FCGI\_MAX\_REQUESTS** of 500 (on most PHP builds). - - ![Screenshot of the Environment Variables Collection Editor dialog.](best-practices-for-php-on-the-microsoft-web-platform/_static/image7.jpg) - - *Figure 4 Environment Variables Collection Editor* - -### Use the Command Line - -To configure the recycling behavior of FastCGI and PHP via **appcmd**, use the following commands: - -[!code-console[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample1.cmd)] - -## Disable Unneeded Services and Processes - -If the server running Windows Server 2008 R2 or Windows Server 2008 will be a dedicated Web server, there are various steps you can take to optimize performance for your Web workloads. Note that these procedures can be performed easily and quickly from the UI or from a command line. - -Make sure any unneeded roles and features in the Windows Server 2008 installation are not installed. Remove processes such as: - -- Microsoft Find Fast and other search indexing services. -- Three-dimensional (3-D) screen savers (which may occupy CPU resources). -- Unused networking protocols. -- Unneeded mail servers. -- Unused antivirus scanners and hardware drivers for mice and infrared ports. - -To use the UI, click **Start**, click **Services**, and then scroll down to the service you want to disable and click **Properties**. Click the arrow under **Startup type**, and then click **Disabled**. - -> [!NOTE] -> Test the Web server for correct operation after you disable each service to make sure that you did not disable a service you want to continue to use. Also, note any services that are dependent on the service you want to stop. - -There is also command-line–based management in Windows Server 2008. Prior versions of Windows provided few if any dependency checks when users had to add/remove server roles or other software. A simple command in Windows Server 2008 can provide server administrators with a listing of the components that will be added or removed. The server manager command also provides a mechanism for performing unattended installation of server roles and features. You can choose to install a single role or feature or combine installation of multiple roles/features via an XML answer file. You can now easily gather information on the installed roles and/or features of any given server and export those results to XML for documentation. You can also determine what server components will be affected by the installation or removal of a server role or feature. - -## Optimize Server Performance - -To optimize Windows Server 2008 or Windows Server 2008 R2 performance, you can: - -- Run the IIS pageable code in working memory to maximize the data throughput. -- Run the IIS process (Inetinfo.exe) as a background service. -- Disable IIS logging. - -### Minimize IIS logging - -Unless required, disable logging on Web sites, virtual directories, files, and folders. You can use the UI or the command line. When logging is switched on, there is a constant appending of text files on the server that details everything about the Web sites. This is necessary if you are monitoring bandwidth though; switch on logging periodically to keep an eye on sites and the bandwidth they use, then switch off logging at all other times. There is generally no need to keep logging on permanently, unless you do want to constantly monitor bandwidth. - -To use the UI, open the IIS Manager and navigate to the level you want to manage. In **Features View**, double-click **Logging**. On the **Logging** page, in the **Actions** pane, click **Disable** to disable logging. - -To use the command line to disable logging, use the following syntax: - -[!code-console[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample2.cmd)] - -## Enable Bandwidth Throttling - -With increasing numbers of sites offering media content, the bandwidth costs for many businesses can be very high. In addition, a large percentage of media bandwidth is wasted because the media content sent to the client is never really used. It is common for users browsing video sites to watch only part of a video before moving on to the next video or leaving the page. However, a Web server using progressive download to deliver the video will typically send significantly more data than is required for those few seconds of play time. Most of that data never gets used. - -For example, if your videos on average only get 5 seconds of viewing time but deliver (buffer) 30 seconds worth of video data in those 5 seconds, you are potentially wasting more than 80 percent of your bandwidth. - -### Use the Bit Rate Throttling Module - -IIS includes a Bit Rate Throttling Module, which automatically detects the encoding rate of the most popular video types. You can control how much data you would like to pre-send to the client in order to eliminate initial buffering delays (fast start) and at what percentage of the encoded rate you would like to deliver the content. You can also configure many other options, such as maximum bandwidth and concurrent connections, and control the module programmatically. - -![Screenshot showing the bandwidth throttling graph.](best-practices-for-php-on-the-microsoft-web-platform/_static/image9.jpg) - -*Figure 5 Bandwidth throttling* - -### Limit the number of connections to site - -You can also limit the number of connections available to individual Web sites. - -1. From the IIS Manager, expand the Web server and click to select the Web site. -2. Click **Limits…** in the Actions pane -3. Check the box for Limit number of connections -4. Enter the number of connections that you want to allow. Note that each connected client uses approximately four concurrent connections. -5. Click **OK.** - -### Enable CPU monitoring - -You can also enable CPU monitoring to monitor and to automatically shut down worker processes that consume large amounts of CPU time. - -1. From the IIS Manager, expand the Web server and select an Application Pool. -2. Click Advanced Settings from the Actions tab. -3. In the **Limit** box in the **CPU** section, and type the value that you want. -4. Click **OK**. - -## Use HTTP Keep-Alives - -The HTTP keep-alive response header improves Web server performance by keeping a client/server connection open across multiple requests to the server. The open connection improves performance when a client makes multiple requests for Web page content, because the server can return the content for each request more quickly. Otherwise, the server has to open a new connection for every request. By default, the HTTP keep-alive response header is enabled in IIS. - -1. From the IIS Manager and navigate to the level you want to manage. -2. In **Features View**, double-click **HTTP Response Headers**. -3. On the **HTTP Response Headers** page, in the **Actions** pane, click **Set Common Headers**. -4. In the **Set Common HTTP Response Headers** dialog box, select the **Enable HTTP keep-alive** check box, and then click **OK**. - -To enable the HTTP keep-alive header from the command line, use the following syntax: - -[!code-console[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample3.cmd)] - -## Use HTTP Compression - -One of the most effective ways to reduce the bandwidth needed to deliver the application responses is to use HTTP compression. This can reduce the size of the response by a substantial amount, often by a factor of 10 when applied to easily compressible text content such as HTML. Since compression is based on Content-Encoding negotiation defined in the HTTP 1.1 protocol, enabling it is safe for clients that do not support compression—these clients simply receive an uncompressed version of the content. - -IIS provides the two compression features: - -- Static compression -- Dynamic compression - -Static compression pre-compresses static content and saves it on disk, thereby allowing future requests to serve compressed content directly without compression overhead. Dynamic compression compresses the response in real time and therefore enables compression for responses generated by applications. Any application framework on IIS can take advantage of dynamic compression—including ASP, ASP.NET, or PHP. - -Dynamic compression usually does not have a prohibitive CPU overhead. In fact, dynamic compression often causes less than 5 percent of the total CPU utilization on a busy server. Dynamic compression can be deployed somewhat liberally to allow for maximum bandwidth savings for any application workloads. - -You can further optimize compression overhead by configuring the compression strength in order to achieve the desired compression versus CPU overhead ratio. - -You can configure HTTP compression by using the UI, by running Appcmd.exe commands in a command-line window, by editing configuration files directly, or by writing WMI scripts. - -For example, to enable dynamic content compression from the command line, type the following and press ENTER: - -[!code-console[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample4.cmd)] - -To enable compression on a particular site from the UI, select the site, and then, from the Work pane, select the Compression management tool. Choose whether you want to compress static content, dynamic content, or both. - -![Screenshot of the I I S Manager showing the Compression dialog in the main pane.](best-practices-for-php-on-the-microsoft-web-platform/_static/image11.jpg) - -*Figure 6 HTTP compression* - -## Use Forms Authentication - -This feature secures the application and the static image files and works well for sites or applications on public Web servers that receive many requests. This authentication mode lets you manage client registration and authentication at the application level, instead of relying on the authentication mechanisms provided by the operating system. You can use the built-in membership database or a custom membership provider. - -In the past, people would often protect the application pages themselves and leave images and media content open for public access. It wasn't easy to extend the same Internet-based authentication scheme to static content unless the static content was served through custom handlers. Even this wasn't a perfect solution, as you would often lose performance and static content features such as static compression and ranged request support. - -With IIS, you can configure Forms Authentication and URL Authorization rules once for the entire site, and you know that your ASPX pages, PHP scripts, HTML files, and media content is protected from unauthorized access. - -You can enable Forms Authentication by using the UI, running Appcmd.exe in a command-line window, by editing configuration files directly, or by writing WMI scripts. - -1. From the IIS Manager, navigate to the level you want to manage. -2. In **Features View**, double-click **Authentication**. -3. On the **Authentication** page, select **Forms Authentication**. -4. In the **Actions** pane, click **Enable** to use Forms Authentication with the default settings. - - ![Screenshot of the I I S Manager screen showing the Authentication dialog in the main pane.](best-practices-for-php-on-the-microsoft-web-platform/_static/image13.jpg) - - *Figure 7 Forms Authentication* - -To enable or disable Forms Authentication from the command line, use the following syntax: - -[!code-console[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample5.cmd)] - -## Manage IIS 7.0 and above with the PowerShell Provider - -The IIS PowerShell Provider is a Windows PowerShell snap-in that allows you to manage IIS configuration and run-time data. It gives easy access to Web-Sites, Application Pools, Web applications, Virtual Directories, request in flight, Worker Processes, and .NET Application Domains within Worker Processes. - -Microsoft Windows PowerShell command-line shell and scripting language helps IT professionals achieve greater control and productivity. Using a new admin-focused scripting language, more than 130 standard command-line tools, and consistent syntax and utilities, Windows PowerShell allows IT professionals to more easily control system administration and accelerate automation. Windows PowerShell is built on top of the .NET common language runtime (CLR) and the .NET Framework, accepting and returning .NET objects. - -Figure 8 shows how to use the PowerShell Provider to create a new IIS application. - -![Screenshot of the PowerShell console screen.](best-practices-for-php-on-the-microsoft-web-platform/_static/image15.jpg) - -*Figure 8 PowerShell Management Console* - -The IIS PowerShell Provider allows you to: - -- Create Web sites, Web applications, virtual directories, and application pools. -- Change simple configuration properties on Web sites, Web applications, virtual directories, and application pools. -- Add and change complex configuration settings. -- Query run-time data (Web site state, application pool state, currently executing requests). -- Execute advanced configuration tasks, scripting, and integration with other PowerShell snap-ins and features. -- Search and discover configuration settings. - -For example, you can create a new application pool from the PowerShell Provider. This only requires the name to be specified. - -[!code-powershell[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample6.ps1)] - -For more information, see the article "[Managing IIS with the IIS 7.0 and Above PowerShell Snap-in](../../manage/powershell/index.md)." - -## Extend IIS 7 and Above - -The IIS architecture is designed to be extensible from top to bottom, allowing you to replace any part of the built-in feature set with a custom implementation that suits your needs. As a result, instead of providing a patchwork of plug-in points, IIS implements all of its own features on top of the public extensibility model. This design is found throughout the platform, from the modular Web server engine itself to the configuration system to the IIS Manager console. - -Often, the desired Web workload requires additional functionality that may not be part of the built-in IIS feature set. Or, in some cases, the application may require a customized set of functionality for which the built-in features are not flexible enough. Because all of the IIS features are built on public extensibility APIs, you can replace any of them with a custom implementation that best fits your needs. - -### Extend the IIS Manager - -Developers can extend the IIS Manager by providing a UI for their custom components and having that UI fully integrated into IIS Manager in the same way as any out-of-the-box IIS component. By using the IIS Manager extensibility, API developers can take advantage of remote management capabilities for their components for free. - -IIS Manager has built-in remote administration capabilities. Using HTTPS between the IIS Manager and the remote server, this feature includes the ability to define trusted users in IIS Manager and have identities securely stored in the IIS configuration, Windows security accounts manager (SAM) or Active Directory, or a .NET provider. - -Unlike other tools that also support remote administration, the IIS Manager remote administration architecture offers several key advantages. First, it allows users who are not administrators on the server to manage sites and applications over which they have control. Second, the IIS Manager remoting mechanism uses HTTPS, instead of DCOM, which is easier to expose through corporate firewalls. Together, these two capabilities make the IIS Manager attractive for delegated remote management of IIS Web sites, especially in shared Web-hosting environments. - -The IIS Manager provides an extensible architecture on which most of the built-in IIS Manager features are based. To facilitate the remote management scenario, each management feature consists of two parts: the client-side components that provide the UI experience inside IIS Manager, and the server-side component that provides the actual management services. The server-side service is loaded inside IIS Manager for local management scenarios or inside the Web Management Service in remote management scenarios. In the latter case, IIS Manager handles the required communication between the components in IIS Manager on the client machine and the service running inside WmSvc on the target server machine. - -### Extend the configuration schema - -Extending the configuration schema can help manage your application. You can automate deployment of the application script to a virtual directory, or configure the role used to authorize users for caption editing, either system wide or for each Web site or application. Extending the schema involves adding a simple .xml file in the `%SystemRoot%\system32\inetsrv\config\schema` directory on your computer. The IIS\_schema.xml file is already present in this directory and can be used as an example to set up your own schema. Create a file named CUSTOM\_schema.xml and set it up, and then register the section in the applicationHost.config. This involves adding just one line in the applicationHost.config. - -## Use a Non-Thread-Safe Build of PHP - -A best practice is to use a non-thread-safe build of PHP with IIS FastCGI, available in PHP 5.2.1 or greater. There are two builds for each PHP version. One is thread safe, and one isn't, referred to as the Non-Thread-Safe (NTS) version. The thread-safe version is designed for environments where the Web server core can keep the PHP engine in memory, running multiple treads of execution for different Web requests simultaneously. The architecture of IIS and the FastCGI extension provide an isolation model that keeps requests separate, removing the need for a thread-safe version. The NTS doesn't have any of the code that allows PHP to manage multiple threads. As a result, you will see a performance improvement on IIS when using the NTS version as compared to the tread-safe version. - -IIS had always supported PHP but in a way that precluded many real-life PHP applications from being hosted in production environments. This was due to limitations in the two ways IIS offered for running PHP applications: using the Common Gateway Interface (CGI) protocol or using the PHP ISAPI extension. - -Because CGI requires a separate process for each request, apps hosted using CGI would perform poorly on Windows. Conversely, PHP apps using the IIS high-performance multithreaded ISAPI interface would often suffer from instability due to the lack of thread safety in some popular PHP extensions. - -In an attempt to solve these problems, the IIS team developed the FastCGI component. The open FastCGI protocol allows PHP and many other application frameworks that require a single-threaded environment (including Ruby on Rails, Perl, and Python) to run more reliably on IIS. Unlike the standard CGI implementation, FastCGI enables process reuse by maintaining a pool of worker processes, each processing no more than one request at a time, thus resulting in much-improved performance. FastCGI also benefitted from a community-centric development and testing model. - -## Set the Default Document - -IIS uses a configuration file named web.config. This file can be placed at any point within an application, and is used to include Web server directives that affect that directory and the ones below it. Many applications currently distribute the file .htaccess, which provides a similar set of capabilities. You can use the web.config file to identify the default document for your application, as follows: - -[!code-xml[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample7.xml)] - -The bold **remove** entry in this example is required. If there is a previous definition for Index.php, this will remove it and place the new one at the top of the default document list. If there isn't a previous one, the remove will be ignored. - -## Use the URL Rewriter Module - -IIS includes a URL Rewriter module comprising a complete, expression-based engine for rewriting rules. These rules can be configured manually or by using the IIS Manager. The URL Rewriter module can import and convert mod\_rewrite rules. - -A typical simple rewrite rule, which converts all requests that come in to *http.example.com* into `http://www.example.com`, is shown in the following code: - -[!code-xml[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample8.xml)] - -## Use the Request Filtering Module - -IIS uses the Request Filtering module to limit browser access to files or directories based upon specified criteria. The URL Filtering module is a powerful engine for securing access to various URLs and requests. - -An example of how to use request filtering to block access to certain types of files, such as include or log files, follows: - -[!code-xml[Main](best-practices-for-php-on-the-microsoft-web-platform/samples/sample9.xml)] - -## IIS 6.0 and 5.1 - -Earlier versions of IIS do not have the URL Rewriter module. One of the major uses for this module is to limit access to certain files and / or directories. For the older versions of IIS, it is possible to provide similar protections. - -## Links for Further Information - -- [Optimize IIS Performance (IIS 7)](https://technet.microsoft.com/library/cc770381(WS.10).aspx). -- [Windows Server Performance Team Blog](/archive/blogs/winserverperformance/tuning-windows-server-2008-for-php) -- [Top 10 Performance Improvements in IIS 7.0](https://technet.microsoft.com/magazine/2008.09.iis.aspx). -- [Enable or Disable Logging (IIS 7)](https://technet.microsoft.com/library/cc754631.aspx). -- [IIS 7.0 Bit Rate Throttling Module Released](https://weblogs.asp.net/scottgu/archive/2008/03/18/iis-7-0-bit-rate-throttling-module-released.aspx) -- [Bit Rate Throttling is now released](https://blogs.iis.net/vsood/archive/2008/03/15/bit-rate-throttling-is-now-released.aspx). -- [Configuring HTTP Compression in IIS 7](https://technet.microsoft.com/library/cc771003.aspx). -- [Build Web Server Solutions with End-To-End Extensibility](/archive/msdn-magazine/2008/launch/build-web-server-solutions-with-end-to-end-extensibility) -- [How to Get Started Extending Module Properties for IIS 7.0 and Above in IIS Manager](../../develop/extending-the-management-ui/how-to-get-started-extending-module-properties-for-iis-in-iis-manager.md). -- [How to Take Advantage of the IIS 7.0 and Above Integrated Pipeline](../building-and-running-aspnet-applications/how-to-take-advantage-of-the-iis-integrated-pipeline.md) -- [Enable Forms Authentication (IIS 7)](https://technet.microsoft.com/library/cc771077.aspx). -- [How to Use Request Filtering](../../manage/configuring-security/use-request-filtering.md). -- [Importing Apache mod\_rewrite Rules](../../extensions/url-rewrite-module/importing-apache-modrewrite-rules.md). -- [Translating .htaccess Content to IIS web.config](../install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig.md). diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image1.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image1.jpg deleted file mode 100644 index 0fa977e97..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image10.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image10.jpg deleted file mode 100644 index c98672c24..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image11.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image11.jpg deleted file mode 100644 index 110fb5a0e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image12.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image12.jpg deleted file mode 100644 index 110fb5a0e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image13.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image13.jpg deleted file mode 100644 index 4ff9154e3..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image14.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image14.jpg deleted file mode 100644 index 4ff9154e3..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image15.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image15.jpg deleted file mode 100644 index 961009620..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image16.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image16.jpg deleted file mode 100644 index 961009620..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image2.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image2.jpg deleted file mode 100644 index 0fa977e97..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image3.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image3.jpg deleted file mode 100644 index c03192682..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image4.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image4.jpg deleted file mode 100644 index c03192682..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image5.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image5.jpg deleted file mode 100644 index e7325a0d3..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image6.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image6.jpg deleted file mode 100644 index e7325a0d3..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image7.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image7.jpg deleted file mode 100644 index fe9dbede7..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image8.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image8.jpg deleted file mode 100644 index fe9dbede7..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image9.jpg b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image9.jpg deleted file mode 100644 index c98672c24..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample1.cmd b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample1.cmd deleted file mode 100644 index 18763229f..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample1.cmd +++ /dev/null @@ -1,3 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='c:\{php_folder}\php-cgi.exe'].instanceMaxRequests:10000 - -C:\>%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS' \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample2.cmd b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample2.cmd deleted file mode 100644 index 03278640a..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\windows\system32\inetsrv>appcmd set config /section:httpLogging /dontLog:True \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample3.cmd b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample3.cmd deleted file mode 100644 index 7192f5ff1..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\Windows\System32\inetsrv>appcmd set config /section:httpProtocol /allowKeepAlive:true | false \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample4.cmd b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample4.cmd deleted file mode 100644 index f8dd53f8d..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\Windows\System32\inetsrv>appcmd set config /section:urlCompression /doDynamicCompression:True \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample5.cmd b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample5.cmd deleted file mode 100644 index 6ee665bbb..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\Windows\System32\inetsrv>appcmd set config /commit:WEBROOT /section:system.web/authentication /mode: None | Windows | Passport | Forms \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample6.ps1 b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample6.ps1 deleted file mode 100644 index b0283297b..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample6.ps1 +++ /dev/null @@ -1,4 +0,0 @@ -PS IIS:\> new-item AppPools\DemoAppPool -Name State ----- ----- -DemoAppPool \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample7.xml b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample7.xml deleted file mode 100644 index d902c3556..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample7.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample8.xml b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample8.xml deleted file mode 100644 index dda46c5be..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample9.xml b/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample9.xml deleted file mode 100644 index 7ee775673..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform/samples/sample9.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server.md b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server.md deleted file mode 100644 index 180e3bc60..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -title: "Build a High-Performance PHP Stack with Windows IIS and Zend Server" -author: rick-anderson -description: "This article was written by Vikram Vaswani of Zend Technologies Ltd. If you're a Web application developer, you've undoubtedly heard of PHP, the open-source..." -ms.date: 05/18/2009 -ms.assetid: 1e7be0f8-c245-4460-b9ba-e246f1797999 -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server -msc.type: authoredcontent ---- -# Build a High-Performance PHP Stack with Windows IIS and Zend Server - -by Vikram Vaswani - -This article was written by Vikram Vaswani of Zend Technologies Ltd. - -If you're a Web application developer, you've undoubtedly heard of PHP, the open-source Web programming language. PHP is an extremely popular tool for building dynamic, data-driven Web applications, as it's easy to learn, interconnects with a wide variety of RDBMSs (including Oracle, MySQL and Microsoft SQL Server), and comes with excellent documentation and deep community support. - -There's only one glitch: setting up a full-fledged PHP development environment under Windows typically requires one to download, install and then configure various bits of software to talk nicely to one another. This process is something that novice developers often struggle with, and it can produce a fair amount of frustration when things don't work "out of the box". - -This is not a problem entirely without solutions. The Microsoft Web Platform offers one answer, but it certainly isn't the only one. There's also another option that you might like to consider: Zend Server, a Windows-based PHP stack that plays well with Microsoft Internet Information Services (IIS), Microsoft SQL Server and MySQL. And over the next few pages, I'm going to show you how to use it to build a high-performance, enterprise-ready PHP+Windows stack. - -## Getting Started - -To quote its official Web site ([http://www.zend.com/en/products/server/](http://www.zend.com/en/products/server/)), Zend Server is "a complete, enterprise-ready Web Application Server for running and managing PHP applications that require a high level of reliability, performance and security." Simply put, it provides a consistent and reliable PHP stack that can be easily deployed in both Windows and \*NIX environments. This stack includes the latest version of PHP, some optional components (Apache, MySQL and Zend Framework), and support for Microsoft IIS, Java, and various databases, including Oracle, MySQL, DB2 and Microsoft SQL Server. All versions of Zend Server come with the Zend Optimizer+ opcode caching engine to significantly speed up PHP performance. - -Zend Server comes in two flavors, which may broadly be classified as 'commercial' and 'community'. The commercial version, known simply as Zend Server, requires purchase of a commercial license, which entitles you to software updates and technical support, in addition to goodies like page (URL) caching, automatic application alerts and diagnostics. The community version, known as Zend Server CE, is available free of charge, but lacks some of the "extras" in the commercial version. - -Your choice of server flavor will usually be defined by your needs (and your budget). If you're a PHP hobbyist or planning to use the server for non-critical PHP applications, Zend Server CE will probably meet all your needs. If, on the other hand, you're running critical enterprise applications and/or need technical support for your PHP environment, a commercial Zend Server license will probably serve you better. Both versions are available for Windows environments and, regardless of which one you choose, you'll get all of the following: - -- All-in-one installation package: Zend Server provides all the key components of a PHP stack in a single point-and-click installation package. This is ideal for novice developers just getting started with PHP; it's also useful for experienced programmers who need to set up a test or development system with minimum fuss. -- Web-based administration: Zend Server comes with an integrated administration panel that allows administrators to monitor server status using a standard Web browser. This graphical administration panel also provides a handy way to change server configuration, set and reset PHP configuration variables, and enable or disable PHP modules. -- Debugging and performance tools: Zend Server includes a number of additional components to improve application performance and make development and debugging easier. These components include Zend Optimizer+, a performance accelerator; Zend Data Cache, a data caching API; Zend Debugger, a full-featured script debugger; and Zend Java Bridge, a PHP/Java connector. All these components can be selectively enabled or disabled from the server administration console at run-time. The commercial version of Zend Server also includes event monitoring and page caching, to improve performance and reduce downtime in network environments. -- Certified PHP stack: The version of PHP that ships with Zend Server is tested and certified by Zend Technologies. This ensures a consistent development environment across various platforms. Having the support and reputation of a major software vendor behind the product also significantly increases the comfort level of project managers and customers who are dipping their toes into PHP-based application development for the first time. The commercial version of Zend Server also includes regular updates and security fixes, to ensure that your PHP applications remains up-to-date and protected. - -Enough with the advertising...let's kick the tires on this thing and see how it works! - -## Installing Zend Server - -To get started with Zend Server, download the Windows installation package from the [Zend Technologies Web site](http://www.zend.com/en/products/server/downloads). While you're there, you should request a free trial license key - this license is valid for 30 days and allows you to try out all the features of the commercial product. The product will automatically revert to a CE-like version, with some features disabled, once the license runs out. - -If you're using Windows XP Professional, Windows Vista or Windows Server 2008, IIS is included with your operating system (although it is an optional installation on Windows Vista). For purposes of this article, I'll assume that you're installing Zend Server on Windows Vista with Microsoft IIS 7.0. If you're using a different version of the operating system, relax - the Windows installation package also works with Windows XP Professional (IIS 5.1 and IIS 6.0) and Windows Server 2008 (IIS 7.5), with no changes necessary. I'll also assume that you have both MySQL 5.1 and Microsoft SQL Server Express 2008 installed on your system. If you don't, you can get Microsoft SQL Server Express 2008 free of charge from [the Microsoft Web site](https://www.microsoft.com/express/sql/download/), and MySQL 5.1 from [the MySQL Web site](http://www.mysql.com/) or via the Zend Server installer. - -Get things rolling by starting up the installer. You should see a welcome screen, as below: -[![Screenshot that shows the Zend Server Installer wizard.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image2.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image1.jpg) - -Accept the license terms, and choose a Custom Installation. -[![Screenshot that shows the Setup Type page. Custom is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image4.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image3.jpg) - -At this point, you can choose which of the various Zend Server components should be installed. It's definitely worth keeping the bundled performance and monitoring tools, such as Zend Optimizer+ and Zend Monitor, and it's a good idea to install Zend Framework, which provides a set of ready-made components that simplify PHP development. I'll be showing you how to hook your PHP scripts up to Microsoft SQL Server Express and MySQL a little further along, so also install the MS-SQL Native Client, MySQL and phpMyAdmin if you don't already have them. -[![Screenshot that shows the Custom Setup page. M S S Q L Native Client is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image6.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image5.jpg) - -Next, configure Zend Server to integrate with your existing IIS web server installation. If you're using Windows XP Professional, Windows Vista or Windows Server 2008, IIS should already be installed and working on your system. -[![Screenshot of the Web Server page. Configure existing I I S Web Server is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image8.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image7.jpg) - -Confirm your choices, and let the installer go to work downloading files and setting things up. -[![Screenshot that shows the installation progress of the file download.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image10.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image9.jpg) - -Once done, the installer will display a success message and allow you to immediately start the Zend Server process. -[![Screenshot that says Zend Server was successfully installed. Start working with Zend Server is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image12.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image11.jpg) - -Since this is its first run, Zend Server will prompt for an administrator password, as well as your license key. -[![Screenshot that shows the Mozilla internet browser. The browser is open to the Welcome to Zend Server page.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image14.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image13.jpg) - -Enter the requested information and you'll be transferred to the server administration panel. - -## Understanding The Zend Server Administration Panel - -Zend Server is fully configurable via its Web-based administration panel, which is typically found at `http://localhost/ZendServer/` and is broadly divided into four sections: - -**Monitor**: Think of the Monitor section as a one-stop shop for anything and everything related to the server's current status and health. The aptly-named Dashboard provides a quick overview of recent PHP events, such as errors and warnings, as well as information on the current status of the various Zend add-on components. This section is also the place to go to view phpinfo() output and server error logs. Under Zend Server CE, the event monitoring tools are absent. -[![Screenshot of Zend Server administration panel. The Monitor section is shown. Recent Events, System Overview, and Tasks sections are displayed.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image17.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image16.jpg) - -**Rule Management**: Two of the key selling points of Zend Server can be found in the Rule Management section: the built-in URL caching system, and the event monitoring system. The Rule Management -> Monitoring section is ground zero for the event monitor. It allows the administrator to set up "watch rules" for PHP requests and trigger actions on certain conditions, such as an uncaught exception or unusually-high memory consumption. In a similar vein, the Rule Management -> Caching section allows administrators to define URL patterns that, when encountered, are automatically cached to improve performance. These two features offer huge benefits to administrators tasked with managing business-critical applications in an enterprise environment; however, it's worth noting that they're not included in Zend Server CE. -[![Screenshot of Zend Server administration panel. The Rule Management section is shown. The Monitoring section and Caching section headings are at the top. The Caching section is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image20.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image19.jpg) - -**Server Setup**: The Server Setup section is where administrators head when they need to change server parameters. This section allows an administrator to turn on or off the various Zend performance and optimization components, such as Zend Optimizer+, Zend Page Cache and Zend Debugger. It also provides a graphical interface to the php.ini configuration file, making it easy to alter PHP configuration variables or enable PHP extensions. Finally, it also allows administrators to configure allow or deny rules for the Zend Studio remote debugging client, as well as to integrate Zend Studio with the event monitoring system to relay information on PHP events. Under Zend Server CE, the event monitoring tools are absent. -[![Screenshot of Zend Server administration panel. The Server Setup section is shown. Under the Server Setup heading are the tabs Components, Extensions, Directives, Debugger, and Monitor. The Directives tab is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image23.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image22.jpg) - -**Administration**: The Administration section provides tools to change the administrator password and update the license key. It also reports on available updates, and allows the administrator to install these with a single click. Under Zend Server CE, these update management tools are absent. -[![Screenshot of Zend Server administration panel. The Administration section is shown. At the top there are the Password and Licenses tab and the Updates tab. The Password and Licenses tab is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image26.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image25.jpg) - -## Building A Simple Application...Or Two - -Now that you know your way around Zend Server, let's put together a simple PHP script to check that everything's working as it should. Using a text editor, create a file containing the following PHP code: - -[!code-xml[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample1.xml)] - -Save this file as whoami.php in the site root folder (typically, `C:\inetpub\wwwroot\`), and then browse to `http://localhost/whoami.php`. You should see something like this: -[![Screenshot of local host slash who am i dot p h p page. Text on the page says Hello world, this is P H P speaking.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image29.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image28.jpg) - -This is a very basic "Hello World" script in PHP: the echo statement simply prints a string to the output device - in this case, the browser. - -How about something a little more complicated, to demonstrate the power of PHP scripting? Here's a PHP script for a simple guessing game: a Web form that invites the user to try and guess the name of a breakfast item. The item itself is randomly selected from a pre-defined array on each iteration. Here's the code (guess.php): - -[!code-html[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample2.html)] - -This script begins by defining an array containing various common breakfast items, and initializing a session with the session\_start() function. This session is used to store a randomly-selected item from the array. A Web form prompts the user to guess the item; on submission, the user's input is stored in the $\_POST array. The script then reads the user's input from the $\_POST array, tests it against the value stored in the session, and displays a message indicating if the guess is correct or not. The strlen() and substr() functions, which respectively return string length and string segments, are used to provide hints to help the user along. - -Here's what it looks like: -[![Screenshot of who am i dot p h p web page. What's For Breakfast is written at the top. In the Your guess box is the text eggs above the submit button.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image31.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image30.jpg) - -[![Screenshot of the local host slash whoami dot p h p web page. In the text box the header What's For Breakfast is written. Above the Your guess text box is the text Correct!](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image33.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image32.jpg) - -## Integrating With Microsoft SQL Server - -One of the reasons for PHP's popularity as a Web scripting language has been its strong support for a variety of different RDBMSs...and Microsoft SQL Server is no exception! In this section, you'll see just how easy it is to get started building data-driven Web applications with PHP, by connecting to an MS-SQL database, reading records from it and displaying them as an HTML page. - -To activate MS-SQL support under Zend Server, there's really only one step: enable PHP's mssql extension, which is included with Zend Server but disabled by default. To do this, log in to the Zend Server administration console at `http://localhost/ZendServer/`, and visit the Server Setup -> Extensions section. Find the entry for mssql and turn it on. -[![Screenshot of the Zend Server administration console. The Server Setup tab is selected. The Extensions section is selected. The M S S Q L extension is highlighted and a button to Turn on the extension is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image35.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image34.jpg) - -You will be prompted to restart PHP. Do so via the button at the bottom right of the page. PHP will restart, and the extension will now be enabled. -[![Screenshot of the Zend Server administration console. The message Please wait while P H P is being restarted is shown over the Server Setup tab.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image38.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image37.jpg) - -Once you've got the module enabled, initialize a new database and populate it with some data. With SQL Server Express 2008, the easiest way to do this is to import from a file containing structured data, such as a CSV-formatted file. [Here's an example](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/books1.zip) of one such file. - -To import this data, start the SQL Server Import and Export Wizard, and select Flat File Source as the data source. Browse for and select the input CSV file. Remember that the first row of the file contains the field names. -[![Screenshot of the S Q L Server Import and Export Wizard. Flat File Source is selected in the data source box. In the Header row delimiter box C R L F is highlighted.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image41.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image40.jpg) - -Create a new database named 'library' to hold this data. -[![Screenshot of the S Q L Import and Export Wizard. The Create Database prompt is shown. In the Name box the text library is written.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image43.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image42.jpg) - -[![Screenshot of the S Q L Server Import and Export Wizard. The Choose a Destination prompt is shown. In the Database box the text library is highlighted.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image45.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image44.jpg) - -Set the destination table name, and preview the data to ensure that it will be imported correctly. -[![Screenshot of the S Q L Server Import and Export Wizard. The Select Source Tables and Views prompt is shown. The Source checkbox is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image47.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image46.jpg) - -[![Screenshot of S Q L Server Import and Export Wizard. The Data View prompt is shown. A list of Sample data is shown in the text box under the headings Author, Title, and Price.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image49.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image48.jpg) - -Confirm the settings, and proceed to import the data. -[![Screenshot of the S Q L Server Import and Export Wizard. The execution was successful is written at the top. Three columns titled Action, Status, and Message are displayed.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image51.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image50.jpg) - -You can verify that the data has been correctly imported through the sqlcmd command-line tool, as below: - -[!code-console[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample3.cmd)] - -Now, try reading and displaying these records using PHP (mssql.php): - -[!code-html[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample4.html)] - -This script begins by opening a connection to the database server using the mssql\_connect() function with the server name and administrator credentials. It then selects the newly-minted library database with mssql\_select\_db(), and executes a query on the database with the mssql\_query() function. - -The number of records returned by the query are obtained via a call to mssql\_num\_rows(). If one or more records are present, a loop is used to iterate over the result set, returning individual records as objects via mssql\_fetch\_object(). Individual fields of each record can now be accessed as object properties; it's then fairly simple to present these field values as an HTML table. Once all the records in the result set have been processed, the connection is closed with mssql\_close(). - -Here's what the output looks like in a Web browser: -[![Screenshot of Firefox web browser page. The output table is displayed with text in two columns.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image53.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image52.jpg) - -## Integrating With MySQL - -Built-in MySQL support (as well as the option to download and install MySQL during the Zend Server installation process) means that it's also extremely easy to create MySQL-backed PHP applications with Zend Server. To illustrate, let's port the example in the previous section to use MySQL instead of Microsoft SQL Server Express. - -The first step is to create a database, and a table to hold the data. Do this by opening a command prompt window and connecting to the MySQL server using the MySQL command-line client. - -[!code-console[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample5.cmd)] - -Type 'help;' or '\h' for help. Type '\c' to clear the buffer. - -[!code-sql[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample6.sql)] - -Import the raw data into this table from the CSV file using the LOAD DATA INFILE command. - -[!code-console[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample7.cmd)] - -Create a MySQL user with privileges to access this database. - -[!code-console[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample8.cmd)] - -Log in as the new user and check that the data has been imported with a quick SELECT. - -[!code-console[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample9.cmd)] - -Type 'help;' or '\h' for help. Type '\c' to clear the buffer. - -[!code-console[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample10.cmd)] - -Now, all that's left is to do the same thing using PHP. Here's the code (mysql.php): - -[!code-html[Main](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample11.html)] - -This script begins by opening a connection to the database server using the mysqli\_connect() function with the user account credentials created in the previous step. It then executes a query on the database with the mysqli\_query() function. The number of records returned by the query are obtained via a call to mysqli\_num\_rows(), and a loop is used to iterate over the result set, returning individual records as objects via mysqli\_fetch\_object(). Individual fields of each record can now be accessed as object properties. - -Here's what the output looks like in a Web browser: -[![Screenshot of the Firefox web browser. The output table is displayed. Two columns of text are shown.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image55.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image54.jpg) - -As the previous two examples illustrate, it's extremely easy to create PHP applications that interact with different database systems using the built-in tools provided with Zend Server. - -## Improving Performance with Page Caching - -One of Zend Server's key benefits is its built-in page caching system, which automatically caches the HTML output generated by PHP scripts on the basis of pre-specified caching rules. This feature significantly boosts performance when used with applications that run lots of PHP code to generate their pages (think your average CMS). This page caching system is easily configurable by the server administrator from the Zend Server administration panel once the application is installed and deployed; it's not necessary to change any application-level code to enable this feature. - -To illustrate how this works, let's try installing and benchmarking a popular PHP application with Zend Server. The application in question is Wordpress, a popular PHP/MySQL blogging platform, and you can download it free of charge from the Wordpress Web site ([http://www.wordpress.org/](http://www.wordpress.org/)). The following discussion assumes that you have successfully installed Wordpress 2.7.1; detailed installation instructions can be obtained from the Web site ([http://codex.wordpress.org/Installing\_WordPress](http://codex.wordpress.org/Installing_WordPress)). Note that you will need to activate PHP's mysql extension through the Zend Server administration panel (Server Setup -> Extensions) before beginning the installation process. - -Assuming you've got it all set up, log in to the Wordpress administration area and adjust the permalink settings to use search-engine friendly URLs (Settings -> Permalink Settings): -[![Screenshot of the Firefox web browser. The Wordpress administration web page is displayed. The Permalink Settings page is shown. The Day and name setting is selected.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image58.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image57.jpg) - -Now, create a new post (Posts -> Add New). -[![Screenshot of the Wordpress adminstration area page. The Edit Post page is shown. A pop up window with the text Post updated, Continue editing below or go back is written.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image61.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image60.jpg) - -While you're at it, create a new category (for example, 'holiday') for your post and publish it to that category. -[![Screenshot of the Categories web page of the Wordpress website. In the Category Name box, the text holiday is written.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image64.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image63.jpg) - -Visit your Wordpress site, select the category (note down the URL, you'll need it a little further along) and you should see your newly-created post(s). -[![Screenshot of the Wordpress site. The heading Archive for the holiday Category is shown.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image67.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image66.jpg) - -Now, let's quantitatively analyze the benefit of Zend Server's page caching system, by benchmarking performance using the Microsoft Web Capacity Analysis Tool (WCAT) ([https://www.iis.net/1466/ItemPermalink.ashx](https://www.iis.net/downloads/community/2007/05/wcat-63-x86)). First, visit the Zend Server administration panel and turn off all the Zend performance components under Server Setup -> Components, including the Zend Page Cache and the Zend Optimizer+. -[![Screenshot of the Zend Server panel. A pop up window is shown at the top with the text The component Zend Page Cache will be turned off after restarting your P H P is written.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image70.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image69.jpg) - -Now, run WCAT with the category URL you noted earlier, using 20 virtual clients and warmup/duration/cooldown periods of 180/180/30 seconds (example scenario and configuration files can be downloaded here; these are based on information obtained from [the IIS.net forum post](https://forums.iis.net/t/1150332.aspx). From the output below, it's clear that the server tops out at 11.52 transactions/second, with an average response time of 1736 ms. -[![Screenshot of the Web Capacity Analysis Tool page. Under Summary is information on Transactions per second, Pathlength per transaction, Context Switches per Transaction, and more.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image73.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image72.jpg) - -[![Screenshot of the Web Capacity Analysis Tool page. Information on Time Analysis, Response Time Analysis, and Request per Response Statistics is shown.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image76.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image75.jpg) - -Now, let's see if we can improve that number. Visit the Zend Server administration panel and turn on the Zend Page Cache and Zend Optimizer+. Restart PHP, and then enter a new caching rule (Rule Management -> Caching) for your Wordpress installation, as in the following image: -[![Screenshot of the Web Capacity Analysis Tool. The Contents and Summary categories are shown. The Context Switches per Transaction and Context Switches per Request categories are flagged.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image79.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image78.jpg) - -[![Screenshot of the Web Capacity Analysis Tool. The Time Analysis, Response Time Analysis, and Request per Response Statistics categories are displayed.](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image82.jpg)](build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image81.jpg) - -As the above examples demonstrate, Zend Server provides a fully-functional, enterprise-ready PHP stack for Windows, one that plays well with all of the most common database systems, including Microsoft SQL Server and MySQL. A Web-based administration panel and event monitor makes server configuration and maintenance simple, and built-in page caching and code acceleration features can improve PHP's default performance by orders of magnitude. Have fun playing with it...and happy coding! diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/books1.zip b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/books1.zip deleted file mode 100644 index 8633b828c..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/books1.zip and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image1.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image1.jpg deleted file mode 100644 index 6bd345c1f..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image10.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image10.jpg deleted file mode 100644 index 2dd349dc0..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image10.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image11.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image11.jpg deleted file mode 100644 index 6d49ae62a..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image11.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image12.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image12.jpg deleted file mode 100644 index 6d49ae62a..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image12.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image13.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image13.jpg deleted file mode 100644 index c2f8f8002..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image13.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image14.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image14.jpg deleted file mode 100644 index c2f8f8002..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image14.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image15.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image15.jpg deleted file mode 100644 index c2f8f8002..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image15.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image16.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image16.jpg deleted file mode 100644 index 771569f40..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image16.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image17.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image17.jpg deleted file mode 100644 index 771569f40..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image17.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image18.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image18.jpg deleted file mode 100644 index 771569f40..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image18.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image19.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image19.jpg deleted file mode 100644 index c6174d20e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image19.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image2.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image2.jpg deleted file mode 100644 index 6bd345c1f..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image20.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image20.jpg deleted file mode 100644 index c6174d20e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image20.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image21.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image21.jpg deleted file mode 100644 index c6174d20e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image21.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image22.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image22.jpg deleted file mode 100644 index ad0fec733..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image22.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image23.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image23.jpg deleted file mode 100644 index ad0fec733..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image23.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image24.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image24.jpg deleted file mode 100644 index ad0fec733..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image24.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image25.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image25.jpg deleted file mode 100644 index c94be77cd..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image25.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image26.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image26.jpg deleted file mode 100644 index c94be77cd..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image26.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image27.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image27.jpg deleted file mode 100644 index c94be77cd..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image27.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image28.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image28.jpg deleted file mode 100644 index 82e859668..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image28.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image29.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image29.jpg deleted file mode 100644 index 82e859668..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image29.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image3.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image3.jpg deleted file mode 100644 index ef5070ae1..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image30.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image30.jpg deleted file mode 100644 index 7f9663151..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image30.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image31.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image31.jpg deleted file mode 100644 index 7f9663151..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image31.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image32.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image32.jpg deleted file mode 100644 index bdfbaeda0..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image32.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image33.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image33.jpg deleted file mode 100644 index bdfbaeda0..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image33.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image34.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image34.jpg deleted file mode 100644 index 208ec3042..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image34.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image35.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image35.jpg deleted file mode 100644 index 208ec3042..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image35.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image36.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image36.jpg deleted file mode 100644 index 208ec3042..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image36.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image37.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image37.jpg deleted file mode 100644 index 5909904c4..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image37.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image38.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image38.jpg deleted file mode 100644 index 5909904c4..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image38.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image39.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image39.jpg deleted file mode 100644 index 5909904c4..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image39.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image4.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image4.jpg deleted file mode 100644 index ef5070ae1..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image40.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image40.jpg deleted file mode 100644 index 8de37ff3b..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image40.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image41.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image41.jpg deleted file mode 100644 index 8de37ff3b..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image41.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image42.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image42.jpg deleted file mode 100644 index 46567a14c..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image42.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image43.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image43.jpg deleted file mode 100644 index 46567a14c..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image43.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image44.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image44.jpg deleted file mode 100644 index 4e9611d15..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image44.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image45.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image45.jpg deleted file mode 100644 index 4e9611d15..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image45.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image46.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image46.jpg deleted file mode 100644 index b341ba10c..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image46.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image47.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image47.jpg deleted file mode 100644 index b341ba10c..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image47.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image48.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image48.jpg deleted file mode 100644 index 510345ff0..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image48.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image49.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image49.jpg deleted file mode 100644 index 510345ff0..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image49.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image5.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image5.jpg deleted file mode 100644 index 57e004767..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image50.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image50.jpg deleted file mode 100644 index 70ec45dab..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image50.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image51.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image51.jpg deleted file mode 100644 index 70ec45dab..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image51.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image52.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image52.jpg deleted file mode 100644 index 556699f97..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image52.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image53.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image53.jpg deleted file mode 100644 index 556699f97..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image53.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image54.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image54.jpg deleted file mode 100644 index a33061dc9..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image54.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image55.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image55.jpg deleted file mode 100644 index a33061dc9..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image55.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image56.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image56.jpg deleted file mode 100644 index a33061dc9..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image56.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image57.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image57.jpg deleted file mode 100644 index 24cf60bd8..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image57.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image58.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image58.jpg deleted file mode 100644 index 24cf60bd8..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image58.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image59.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image59.jpg deleted file mode 100644 index 24cf60bd8..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image59.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image6.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image6.jpg deleted file mode 100644 index 57e004767..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image60.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image60.jpg deleted file mode 100644 index 910fdf464..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image60.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image61.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image61.jpg deleted file mode 100644 index 910fdf464..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image61.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image62.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image62.jpg deleted file mode 100644 index 910fdf464..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image62.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image63.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image63.jpg deleted file mode 100644 index 7edd91b4e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image63.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image64.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image64.jpg deleted file mode 100644 index 7edd91b4e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image64.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image65.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image65.jpg deleted file mode 100644 index 7edd91b4e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image65.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image66.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image66.jpg deleted file mode 100644 index aec621551..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image66.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image67.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image67.jpg deleted file mode 100644 index aec621551..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image67.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image68.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image68.jpg deleted file mode 100644 index aec621551..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image68.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image69.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image69.jpg deleted file mode 100644 index dcfbce06a..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image69.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image7.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image7.jpg deleted file mode 100644 index 6135c1ec7..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image70.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image70.jpg deleted file mode 100644 index dcfbce06a..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image70.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image71.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image71.jpg deleted file mode 100644 index dcfbce06a..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image71.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image72.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image72.jpg deleted file mode 100644 index e3aee8801..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image72.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image73.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image73.jpg deleted file mode 100644 index e3aee8801..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image73.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image74.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image74.jpg deleted file mode 100644 index e3aee8801..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image74.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image75.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image75.jpg deleted file mode 100644 index 517181944..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image75.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image76.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image76.jpg deleted file mode 100644 index 517181944..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image76.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image77.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image77.jpg deleted file mode 100644 index 517181944..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image77.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image78.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image78.jpg deleted file mode 100644 index e5bcffeb3..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image78.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image79.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image79.jpg deleted file mode 100644 index e5bcffeb3..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image79.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image8.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image8.jpg deleted file mode 100644 index 6135c1ec7..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image80.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image80.jpg deleted file mode 100644 index e5bcffeb3..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image80.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image81.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image81.jpg deleted file mode 100644 index 4b702a885..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image81.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image82.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image82.jpg deleted file mode 100644 index 4b702a885..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image82.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image9.jpg b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image9.jpg deleted file mode 100644 index 2dd349dc0..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/_static/image9.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample1.xml b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample1.xml deleted file mode 100644 index f31023ea9..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample1.xml +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample10.cmd b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample10.cmd deleted file mode 100644 index 74bd4d7ab..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample10.cmd +++ /dev/null @@ -1,14 +0,0 @@ -mysql> USE library -Database changed - -mysql> SELECT * FROM books LIMIT 0,5; -+----+--------------------+-----------------------------------+---------+ -| id | author | title | price | -+----+--------------------+-----------------------------------+---------+ - | 1 | Arthur Conan Doyle | A Study In Scarlet | $35.00 - | 2 | John Grisham | A Time To Kill | $50.00 - | 3 | Sue Townsend | Adrian Mole: From Minor To Major | $97.00 - | 4 | Sue Townsend | Adrian Mole: The Wilderness Years | $97.00 - | 5 | Enid Blyton | Adventure Of The Strange Ruby | $16.00 -+----+--------------------+-----------------------------------+---------+ -5 rows in set (0.00 sec) \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample11.html b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample11.html deleted file mode 100644 index 72cea6bb0..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample11.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - '; - while ($row = mysqli_fetch_object($result)) { - echo ''; - echo '' . $row->author . ''; - echo '' . $row->title . ''; - echo ''; - } - echo ''; - } - - // close connection - mysqli_close($db); - ?> - - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample2.html b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample2.html deleted file mode 100644 index 069e7f6f3..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample2.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -

What's For Breakfast?

- -
- -
- - - -
- Your guess:
-
- -
- Hint: characters, - beginning with '' - and ending with '' - - - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample3.cmd b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample3.cmd deleted file mode 100644 index 52b87731b..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample3.cmd +++ /dev/null @@ -1,10 +0,0 @@ -C:\>sqlcmd -S .\SQLEXPRESS - -1> USE library -2> GO -Changed database context to 'library' - -1> SELECT COUNT(*) FROM books -2> GO ------------- - 28 \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample4.html b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample4.html deleted file mode 100644 index c25eff93a..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample4.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - '; - while ($row = mssql_fetch_object($query)) { - echo ''; - echo '' . $row->Author . ''; - echo '' . $row->Title . ''; - echo ''; - } - echo ''; - } - - // close connection - mssql_close($db); - ?> - - - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample5.cmd b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample5.cmd deleted file mode 100644 index 69579ff26..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample5.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\Program Files\MySQL\bin>mysql -u root -p -Enter password: -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 1 -Server version: 5.1.30-community MySQL Community Server (GPL) \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample6.sql b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample6.sql deleted file mode 100644 index 2171f2555..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample6.sql +++ /dev/null @@ -1,13 +0,0 @@ -mysql> CREATE DATABASE library; -Query OK, 1 row(s) affected (0.01 sec) - -mysql> USE library; -Database changed - -mysql> CREATE TABLE books ( - -> id INT(4) AUTO_INCREMENT PRIMARY KEY, - -> author VARCHAR(255), - -> title VARCHAR(255), - -> price VARCHAR(30) - -> ); -Query OK, 0 rows affected (0.05 sec) \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample7.cmd b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample7.cmd deleted file mode 100644 index 8b43a0e03..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample7.cmd +++ /dev/null @@ -1,5 +0,0 @@ -mysql> LOAD DATA INFILE 'G:\\books.csv' INTO TABLE books - -> FIELDS TERMINATED BY ',' IGNORE 1 LINES - -> (author, title, price); -Query OK, 28 rows affected (0.00 sec) -Records: 28 Deleted: 0 Skipped: 0 Warnings: 0 \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample8.cmd b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample8.cmd deleted file mode 100644 index ca3bfd740..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample8.cmd +++ /dev/null @@ -1 +0,0 @@ -mysql> GRANT ALL ON library.* TO library@localhost IDENTIFIED BY 'bookworm'; \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample9.cmd b/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample9.cmd deleted file mode 100644 index 173f2d588..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/build-a-high-performance-php-stack-with-windows-iis-and-zend-server/samples/sample9.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\Program Files\MySQL\bin>mysql -u library -p -Enter password: ******* -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 3 -Server version: 5.1.30-community MySQL Community Server (GPL) \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior.md b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior.md deleted file mode 100644 index c2ac72c6c..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Configure PHP Process Recycling Behavior" -author: rick-anderson -description: "Introduction Make sure that FastCGI always recycles the php-cgi.exe processes before the native PHP recycling kicks in. The FastCGI process recycling behavio..." -ms.date: 11/15/2009 -ms.assetid: 2caf4f65-32b2-454e-8613-c9e90b178363 -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior -msc.type: authoredcontent ---- -# Configure PHP Process Recycling Behavior - -by Tali Smith - -## Introduction - -Make sure that FastCGI always recycles the php-cgi.exe processes before the native PHP recycling kicks in. The FastCGI process recycling behavior is controlled by the configuration property **instanceMaxRequests**. This property specifies how many requests the FastCGI process will process before recycling. PHP also has a similar process recycling functionality that is controlled by an environment variable **PHP\_FCGI\_MAX\_REQUESTS**. By setting **instanceMaxRequests** to be smaller or equal to **PHP\_FCGI\_MAX\_REQUESTS**, you can ensure that the native PHP process recycling logic will never kick in. - -The FastCGI settings can be configured either by using IIS Manager or by using the command-line tool AppCmd. - -## Use the IIS Manager - -1. To configure FastCGI recycling settings by using IIS Manager, you must install Administration Pack for IIS 7.0 and above, and then select FastCGI Settings at the server level. - - ![Screenshot of I I S Manager window with application icons displayed in features view.](configure-php-process-recycling-behavior/_static/image1.jpg) - *Figure 1: IIS Manager, FastCGI Settings* -2. Next, select the FastCGI application that you want to configure, and then click **Edit** in the **Actions** pane on the right side. - - ![Screenshot of I I S Manager window with Fast C G I Settings tab displayed.](configure-php-process-recycling-behavior/_static/image3.jpg) - *Figure 2: FastCGI Settings page* -3. In the **Edit FastCGI Application** dialog box, set **InstanceMaxRequest** to **10000,** and then click on the **browse** button next to the **EnvironmentVariables** setting. - - ![Screenshot of Edit Fast C G I Application dialog box with Enviornment Variables setting highlighted.](configure-php-process-recycling-behavior/_static/image5.jpg) - *Figure 3: Edit FastCGI Application dialog box* -4. Add the **PHP\_FCGI\_MAX\_REQUESTS** environment variable, and set its value to **10000**. - > [!NOTE] - > If you do not configure these settings, then the following default settings are used: **InstanceMaxRequests** of 200, **PHP\_FCGI\_MAX\_REQUESTS** of 500 (on most PHP builds). - - ![Screenshot of the Environment Variables Collection Editor dialog box. The P H P F F C G I Max Requests setting and value are highlighted.](configure-php-process-recycling-behavior/_static/image7.jpg) - *Figure 4: Environment Variables Collection Editor dialog box* - -## Use the Command Line - -To configure the recycling behavior of FastCGI and PHP via **appcmd**, use the following commands: - -[!code-console[Main](configure-php-process-recycling-behavior/samples/sample1.cmd)] - -[!code-console[Main](configure-php-process-recycling-behavior/samples/sample2.cmd)] - -## Links for Further Information - -- [Using FastCGI to Host PHP Applications on IIS 7.0 and Above](../install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md). diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image1.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image1.jpg deleted file mode 100644 index 0fa977e97..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image2.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image2.jpg deleted file mode 100644 index 0fa977e97..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image2.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image3.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image3.jpg deleted file mode 100644 index c03192682..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image3.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image4.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image4.jpg deleted file mode 100644 index c03192682..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image4.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image5.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image5.jpg deleted file mode 100644 index fa140cb54..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image5.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image6.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image6.jpg deleted file mode 100644 index fa140cb54..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image6.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image7.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image7.jpg deleted file mode 100644 index 2c0f159ee..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image7.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image8.jpg b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image8.jpg deleted file mode 100644 index 2c0f159ee..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/_static/image8.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/samples/sample1.cmd b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/samples/sample1.cmd deleted file mode 100644 index 5c083bfb4..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='c:\{php_folder}\php-cgi.exe'].instanceMaxRequests:10000 \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/samples/sample2.cmd b/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/samples/sample2.cmd deleted file mode 100644 index 193303e4e..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='C:\{php_folder}\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS' \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/develop-on-iis-7-and-above.md b/iis/application-frameworks/running-php-applications-on-iis/develop-on-iis-7-and-above.md deleted file mode 100644 index 2b6bcd5a5..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/develop-on-iis-7-and-above.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Develop on IIS 7" -author: rick-anderson -description: "The following articles provide information about developing on Internet Information Services 7 (IIS 7) and above. Use Development Tools Microsoft® Visual Stu..." -ms.date: 11/15/2009 -ms.assetid: 5ef68c30-c8cf-4988-9a6e-f05948bf1db6 -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/develop-on-iis-7-and-above -msc.type: authoredcontent ---- -# Develop on IIS 7 - -by Tali Smith - -The following articles provide information about developing on Internet Information Services 7 (IIS 7) and above. - -## Use Development Tools - -Microsoft® Visual Studio® provides several options for working with IIS when developing Web sites and Web applications. In Microsoft® Visual Studio® 2008, the Web site and Web application features support IIS in Windows® 7, Windows Vista®, and Windows Server® 2008 operating system environments. In addition, the Web Deployment Project 2008 also provides support for IIS. - -The following topics address development tools; - -- [Visual Studio 2008 with IIS 7 and Above](../../develop/using-visual-studio-with-iis/using-visual-studio-2008-with-iis.md). -- [Microsoft® Visual Studio® 2005 with IIS 7 and Above](../../develop/using-visual-studio-with-iis/using-visual-studio-2005-with-iis.md). -- [Using Visual Studio 2008 with IIS 7.0 and Above](../../develop/using-visual-studio-with-iis/using-visual-studio-2008-with-iis.md). -- [Using Visual Studio 2005 with IIS 7.0 and Above](../../develop/using-visual-studio-with-iis/using-visual-studio-2005-with-iis.md). - -## Extend IIS 7 and Above - -IIS is built with a completely modular architecture on top of rich extensibility APIs. This enables developers to easily add, remove, and even replace built-in IIS components with hand-crafted ones that are specifically suited for any given Web site. It has never been so easy to plug code deep into the IIS core pipeline and extend IIS in ways that were impossible before. - -For example, a few lines of code allow developers to write modules or handlers that provide new authentication and authorization schemes, do run-time or security analysis of incoming requests, and inspect responses. But to provide a real value-add, these modules must be manageable via programming interfaces, command-line tools, and a user interface. - -### Runtime Extensibility - -- [An End-to-End Extensibility Example for IIS 7.0 and Above Developers](../../develop/runtime-extensibility/an-end-to-end-extensibility-example-for-iis-developers.md). -- [Developing IIS 7.0 and Above Modules and Handlers with the .NET Framework](../../develop/runtime-extensibility/developing-iis-modules-and-handlers-with-the-net-framework.md). -- [Sample: Web Analytics Tracking Module](../../develop/runtime-extensibility/sample-web-analytics-tracking-module.md). -- [Extending Web Server Functionality in .NET.](../../develop/runtime-extensibility/extending-web-server-functionality-in-net.md) -- [Develop a Native C\C++ Module for IIS 7.0 and Above](../../develop/runtime-extensibility/develop-a-native-cc-module-for-iis.md). -- [Developing a Module Using .NET](../../develop/runtime-extensibility/developing-a-module-using-net.md). -- [How to Add Tracing to IIS 7.0 and Above Managed Modules](../../develop/runtime-extensibility/how-to-add-tracing-to-iis-managed-modules.md). -- [Sample: Image Watermark Module](../../develop/runtime-extensibility/sample-image-watermark-module.md). - -### Extend the Management UI - -- [Overview of MWA and MWM for IIS 7.0 and Above](../../develop/extending-the-management-ui/overview-of-mwa-and-mwm-for-iis.md). -- [How to Create a Simple IIS Manager Module](../../develop/extending-the-management-ui/how-to-create-a-simple-iis-manager-module.md). -- [How to Get Started Extending Module Properties for IIS 7.0 and Above in IIS Manager](../../develop/extending-the-management-ui/how-to-get-started-extending-module-properties-for-iis-in-iis-manager.md). -- [Understanding UI Extension Authoring](../../develop/extending-the-management-ui/understanding-ui-extension-authoring.md) - -### Extend the Configuration - -- [Configuration Extensibility](../../develop/extending-iis-configuration/configuration-extensibility.md). -- [Extending IIS Configuration](../../develop/extending-iis-configuration/extending-iis-configuration.md). -- [Extending IIS 7.0 and Above Schema and Accessing the Custom Sections Using MWA](../../develop/extending-iis-configuration/extending-iis-schema-and-accessing-the-custom-sections-using-mwa.md). - -### Develop for FTP 7.5 - -Microsoft has created a new File Transfer Protocol (FTP) service that has been completely rewritten for Windows Server® 2008. This new FTP service incorporates many new features that enable Web authors to publish content better than before, and offers Web administrators more security and deployment options. - -The new FTP 7.5 service supports extensibility that allows you to extend the built-in functionality that ships with the FTP service. More specifically, FTP 7.5 supports creating your own authentication and authorization providers. You can also create providers for custom FTP logging and for determining the home directory information for your FTP users. - -For managed code (C#), see: - -- [How to Use Managed Code (C#) to Create a Simple FTP Authentication Provider](../../develop/developing-for-ftp/how-to-use-managed-code-c-to-create-a-simple-ftp-authentication-provider.md). -- [How to Use Managed Code (C#) to Create a Simple FTP Home Directory Provider](../../develop/developing-for-ftp/how-to-use-managed-code-c-to-create-a-simple-ftp-home-directory-provider.md). -- [How to Use Managed Code (C#) to Create a Simple FTP Logging Provider](../../develop/developing-for-ftp/how-to-use-managed-code-c-to-create-a-simple-ftp-logging-provider.md). -- [How to Use Managed Code (C#) to Create an FTP Authentication Provider using an XML Database](../../develop/developing-for-ftp/how-to-use-managed-code-c-to-create-an-ftp-authentication-provider-using-an-xml-database.md). -- [How to Use Managed Code (C#) to Create an FTP Provider that Sends an Email when Files are Uploaded](../../develop/developing-for-ftp/how-to-use-managed-code-c-to-create-an-ftp-provider-that-sends-an-email-when-files-are-uploaded.md). -- [How to Use Managed Code (C#) to Create an FTP Authentication Provider with Dynamic IP Restrictions](../../develop/developing-for-ftp/how-to-use-managed-code-c-to-create-an-ftp-authentication-provider-with-dynamic-ip-restrictions.md). - -For native code (C++), see: - -- [How to Use Native Code (C++) to Create a Simple FTP Authentication Provider](../../develop/developing-for-ftp/how-to-use-native-code-c-to-create-a-simple-ftp-authentication-provider.md). -- [How to Use Native Code (C++) to Create a Simple FTP Home Directory Provider](../../develop/developing-for-ftp/how-to-use-native-code-c-to-create-a-simple-ftp-home-directory-provider.md). -- [How to Use Native Code (C++) to Create a Simple FTP Logging Provider](../../develop/developing-for-ftp/how-to-use-native-code-c-to-create-a-simple-ftp-logging-provider.md). - -For managed code (Microsoft® Visual Basic®), see: - -- [How to Use Managed Code (Visual Basic) to Create a Simple FTP Home Directory Provider](../../develop/developing-for-ftp/how-to-use-managed-code-visual-basic-to-create-a-simple-ftp-home-directory-provider.md). -- [How to Use Managed Code (Visual Basic) to Create a Simple FTP Logging Provider.](../../develop/developing-for-ftp/how-to-use-managed-code-visual-basic-to-create-a-simple-ftp-logging-provider.md) diff --git a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above.md b/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above.md deleted file mode 100644 index 71980abf5..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Enable PHP Syntax Highlighting on IIS 7" -author: rick-anderson -description: "You can configure Internet Information Services 7 (IIS 7) and above to output syntax-highlighted source code for PHP files stored on the Web server or Web si..." -ms.date: 11/15/2009 -ms.assetid: cf9e7b8e-a97b-42f7-823b-a8bdff7afbc2 -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above -msc.type: authoredcontent ---- -# Enable PHP Syntax Highlighting on IIS 7 - -by Tali Smith - -You can configure Internet Information Services 7 (IIS 7) and above to output syntax-highlighted source code for PHP files stored on the Web server or Web site. This feature is useful in development environments because you can quickly make the source code accessible to other team members. - -> [!NOTE] -> You should not attempt these procedures on any Internet-accessible Web site as this greatly compromises the security of your Web application. - -The HTTP requests for the PHP source code are usually identified by the .phps file extension (for example, `http://localhost/index.phps`). You must configure IIS to understand and handle the HTTP requests with this extension. There are two options for this: create an IIS handler mapping for \*.phps or use the [IIS URL Rewrite Module](https://www.iis.net/downloads/microsoft/url-rewrite "Download the IIS URL Rewrite Module"). - -## Configure IIS Handler Mapping - -The PHP executable supports a command-line argument "-s" that is used to display color, syntax-highlighted source code for any PHP script. You can create a handler mapping for "\*.phps" and use C:\[path to PHP installation]\php-cgi.exe|-s as the executable: - -![Screenshot of the Add Module Mapping dialog with settings to create the handler mapping.](enable-php-syntax-highlighting-on-iis-7-and-above/_static/image1.jpg) -*Figure 1: Add Module Mapping* - -Next, rename or copy the .php file to a .phps file, and then request the .phps file from a Web browser. - -## Use IIS URL Rewrite Module - -If you do not want to rename each .php file to .phps, you can use the IIS URL Rewrite rule and a simple PHP script. In the root directory of your Web site, create a file called **highlighter.phpb**, and then copy the following code into the file: - -[!code-xml[Main](enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample1.xml)] - -After that, add the following rewrite rule to the **Web.config** file located at the root directory of your Web site: - -[!code-xml[Main](enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample2.xml)] - -Now, if you request a URL that has an extension of .phps, the highlighted source code is returned in response, provided that the corresponding .php file exists under the Web site's root directory. - -![Screenshot of a browser window showing the highlighted source code.](enable-php-syntax-highlighting-on-iis-7-and-above/_static/image3.gif) -*Figure 2: Highlighted code response* - -This article is based on the blog post "[Enable PHP Syntax Highlighting on IIS 7](https://blogs.iis.net/ruslany/archive/2009/10/07/enable-php-syntax-highlighting-on-iis-7.aspx)" by Ruslan Yakushev, published on October 7, 2009. diff --git a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image1.gif b/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image1.gif deleted file mode 100644 index 4a6ac0c4e..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image1.gif and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image1.jpg b/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image1.jpg deleted file mode 100644 index ae7f4b576..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image1.jpg and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image3.gif b/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image3.gif deleted file mode 100644 index 8a4192971..000000000 Binary files a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/_static/image3.gif and /dev/null differ diff --git a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample1.xml b/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample1.xml deleted file mode 100644 index e31764a03..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample1.xml +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample2.xml b/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample2.xml deleted file mode 100644 index e82ecd026..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/enable-php-syntax-highlighting-on-iis-7-and-above/samples/sample2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/running-php-applications-on-iis/how-to-develop-on-the-microsoft-web-platform.md b/iis/application-frameworks/running-php-applications-on-iis/how-to-develop-on-the-microsoft-web-platform.md deleted file mode 100644 index bdc8e3777..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/how-to-develop-on-the-microsoft-web-platform.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: "How to Develop on the Microsoft Web Platform" -author: rick-anderson -description: "The Windows ® and Linux operating systems approach Web development in different ways. Linux is easily configured, and it lets enthusiasts get “under the hood..." -ms.date: 11/15/2009 -ms.assetid: b174c188-7477-4995-a6f1-a5ede62d6915 -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/how-to-develop-on-the-microsoft-web-platform -msc.type: authoredcontent ---- -# How to Develop on the Microsoft Web Platform - -by Tali Smith - -The Windows® and Linux operating systems approach Web development in different ways. Linux is easily configured, and it lets enthusiasts get "under the hood" and tweak every aspect of the environment. Scripting languages, with their ability to morph and adapt, can automate the tweaking of the system. In contrast, the Windows-based, Microsoft® Web Platform is not designed to be tweaked by going to bare metal. Instead, the system is monitored, controlled, and modified by using well-defined interfaces, plug-in boards, and so on. Scripting languages are most often used in Windows to drive systems through APIs not through the modification of configuration files. Understanding this difference in philosophy is key to the effective use of scripting languages on the Windows-based platform. - -Until now, PHP developers may have written their applications on Windows, reaping the benefits of the intuitive user interfaces, but then used the open-source Linux-Apache-MySQL-PHP (LAMP) platform to run their applications. With FastCGI support native to Windows Server® 2008, and available as an extension for Windows Server® 2003, PHP developers now have a strong platform in Windows Server for both developing and running Web applications. - -The following articles provide guidance for software developers using the Microsoft Web Platform: - -- [Provision Web Sites for PHP Applications Using Managed Code](provision-web-sites-for-php-applications-using-managed-code.md). This article describes how to implement the provisioning aspect of features such as File Transfer Protocol (FTP) capabilities, creation of virtual directories, and the amount of disk space through C#. -- [Enable PHP Syntax Highlighting](enable-php-syntax-highlighting-on-iis-7-and-above.md). You can configure Internet Information Services 7 (IIS 7) and above to output syntax-highlighted source code for PHP files stored on the Web server or Web site. This feature can be very useful in development environments because you can quickly make the source code accessible to other team members. - -Additional resources for developers can be found in: - -- [Develop on IIS 7 and Above](develop-on-iis-7-and-above.md). This article provides links to information that is useful for software developers. diff --git a/iis/application-frameworks/running-php-applications-on-iis/mix08-partying-with-php-on-microsoft-internet-information-services-7-and-above.md b/iis/application-frameworks/running-php-applications-on-iis/mix08-partying-with-php-on-microsoft-internet-information-services-7-and-above.md deleted file mode 100644 index b65143e42..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/mix08-partying-with-php-on-microsoft-internet-information-services-7-and-above.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "MIX08: Partying with PHP on Microsoft Internet Information Services 7" -author: drewby -description: "This video is from the MIX08 conference. http://visitmix.com Discover the advantages of running PHP applications on Microsoft Internet Information Services...." -ms.date: 05/09/2008 -ms.assetid: eceb0ea2-79cb-4b63-9b65-320ee6405462 -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/mix08-partying-with-php-on-microsoft-internet-information-services-7-and-above -msc.type: video ---- -# MIX08: Partying with PHP on Microsoft Internet Information Services 7 - -by [Drew Robbins](https://github.com/drewby) - -This video is from the MIX08 conference. Discover the advantages of running PHP applications on Microsoft Internet Information Services. Learn how to take advantage of the integrated pipeline and .NET functionality, and use the new remote management tools. diff --git a/iis/application-frameworks/running-php-applications-on-iis/provision-web-sites-for-php-applications-using-managed-code.md b/iis/application-frameworks/running-php-applications-on-iis/provision-web-sites-for-php-applications-using-managed-code.md deleted file mode 100644 index 30bacaa2e..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/provision-web-sites-for-php-applications-using-managed-code.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "Provision Web Sites for PHP Applications Using Managed Code" -author: rick-anderson -description: "Initially, a new user account must be established for the customer. Once the account has been set up, the customer decides which features and options the sit..." -ms.date: 11/15/2009 -ms.assetid: 3e29df44-2469-420f-869f-16554215ef62 -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/provision-web-sites-for-php-applications-using-managed-code -msc.type: authoredcontent ---- -# Provision Web Sites for PHP Applications Using Managed Code - -by Tali Smith - -Initially, a new user account must be established for the customer. Once the account has been set up, the customer decides which features and options the site should incorporate: for example, how much disk space, FTP capability, creation of virtual directories, and whether or not databases are required. You can also build control panels or dashboard applications that let customers create and manage these features. - -While there are a number of ways that these capabilities can be implemented into the Control Panel, [Provisioning Sample in C#](../../manage/provisioning-and-managing-iis/provisioning-sample-in-c.md) describes how to implement the provisioning aspect of these features through managed code. The article describes how to provision a new user account, create content storage, create an application pool, create a site, create a binding, creat a root application, creat a virtual directory, and create an FTP site. - -## Links for Further Information - -- [Create a Web Site (IIS 7).](https://technet.microsoft.com/library/cc772350(WS.10).aspx) -- [Managing Applications in IIS 7](/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/cc771654(v=ws.10)). -- [An Introduction to Windows PowerShell and IIS 7.0 and Above](../../manage/powershell/an-introduction-to-windows-powershell-and-iis.md). -- [Provisioning Web Sites on IIS 7.0 and Above](../../manage/creating-websites/index.md). -- [Web Site Deployment Made Easy](../../get-started/introduction-to-iis/web-site-deployment-made-easy.md). -- [Hosting Services Code Sample](../../manage/provisioning-and-managing-iis/index.md). -- [Code Samples and Scripts](../../manage/provisioning-and-managing-iis/index.md). diff --git a/iis/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php.md b/iis/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php.md deleted file mode 100644 index 505e86d60..000000000 --- a/iis/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Set Up FastCGI for PHP" -author: rick-anderson -description: "Improved performance and greater reliability for PHP applications is ensured by the new FastCGI component for IIS 7.0 and previous versions. This tutorial co..." -ms.date: 02/24/2008 -ms.assetid: 4909cba3-10bd-40e4-907c-699f9a325f0a -msc.legacyurl: /learn/application-frameworks/running-php-applications-on-iis/set-up-fastcgi-for-php -msc.type: video ---- -# Set Up FastCGI for PHP - -by IIS Team - -Improved performance and greater reliability for PHP applications is ensured by the new FastCGI component for IIS 7.0 and previous versions. This tutorial covers installing PHP 5.2.1 and the new FastCGI component to IIS 7.0 in Windows Vista. diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configure-a-php-website-on-iis.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configure-a-php-website-on-iis.md deleted file mode 100644 index e829bf191..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configure-a-php-website-on-iis.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Configure a PHP Website on IIS" -author: rmcmurray -description: "To install an IIS web server and configure it for PHP web applications, follow these steps: Install IIS and PHP, Configure PHP Settings, and Configure PHP Ap..." -ms.date: 04/14/2013 -ms.assetid: d4b9179e-834f-44b0-b26f-bb34f2539d16 -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/configure-a-php-website-on-iis -msc.type: authoredcontent ---- -# Configure a PHP Website on IIS - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -## Overview - -To install an IIS web server and configure it for PHP web applications, follow the steps listed. - -- [Step 1: Install IIS and PHP](configuring-step-1-install-iis-and-php.md) -- [Step 2: Configure PHP Settings](configuring-step-2-configure-php-settings.md) -- [Step 3: Configure PHP Application Security](configuring-step-3-configure-php-application-security.md) - -For planning information to review before deployment, see [Plan a PHP Website on IIS](plan-a-php-website-on-iis.md). For more information, see [Build a PHP Website on IIS](overview-build-a-php-website-on-iis.md). - -## Software Requirements - -To get the most from this scenario, you must have access to a computer running one of the following operating systems: - -- Windows Server® 2012 -- Windows® 8 diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php.md deleted file mode 100644 index 62d07f67d..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: "Configuring Step 1: Install IIS and PHP" -author: rmcmurray -description: "In this step of building a PHP website, you install IIS and FastCGI, download and install PHP and the WinCache extension, and upload your PHP application." -ms.date: 04/14/2013 -ms.assetid: 73b8ec4b-7af9-482a-9fef-f0b8200926e7 -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php -msc.type: authoredcontent ---- -# Configuring Step 1: Install IIS and PHP - -by Keith Newman and [Robert McMurray](https://github.com/rmcmurray) - -In this step of building a PHP website, you install IIS and FastCGI, download and install PHP and the WinCache extension, and upload your PHP application. - -When you are done, make sure that IIS and the PHP are installed, and your PHP application has been added to your website. Then go on to [Step 2: Configure PHP Settings](configuring-step-2-configure-php-settings.md). - - - -## 1.1. Install IIS - -To install IIS, use the following steps: - -### To install IIS on Windows Server 2012 - -1. On the **Start** page, click the **Server Manager** tile, and then click **OK**. -2. In **Server Manager**, select **Dashboard**, and click **Add roles and features**. -3. In the **Add Roles and Features Wizard**, on the **Before You Begin** page, click **Next**. -4. On the **Select Installation Type** page, select **Role-based or Feature-based Installation** and click **Next** -5. On the **Select Destination Server** page, select **Select a server from the server pool**, select your server, and click **Next**. -6. On the **Select Server Roles** page, select **Web Server (IIS)**, and then click **Next**. -7. On the **Select Features** page, note the preselected features that are installed by default, and then select **CGI**. This selection also installs FastCGI, which is recommended for PHP applications. -8. Click **Next**. -9. On the **Web Server Role (IIS)** page, click **Next**. -10. On the **Select Role Services** page, note the preselected role services that are installed by default, and then click **Next**. - - > [!NOTE] - > You only have to install the IIS 8 default role services for a static-content web server. - -11. On the **Confirm Installation Selections** page, confirm your selections, and then click **Install**. -12. On the **Installation Progress** page, confirm that your installation of the Web Server (IIS) role and required role services completed successfully, and then click **Close**. -13. To verify that IIS installed successfully, type the following into a web browser: - - `http://localhost` - - You should see the default IIS Welcome page. - -### To install IIS on Windows 8 - -1. On the **Start** page, type **Control Panel**, and then click the **Control Panel** icon in the search results. -2. In **Control Panel**, click **Programs**, and then click **Turn Windows features on or off**. -3. In the **Windows Features** dialog box, click **Internet Information Services**, note the preselected features that are installed by default, and then select **CGI**. This selection also installs FastCGI, which is recommended for PHP applications. -4. Click **OK**. -5. To verify that IIS installed successfully, type the following into a web browser: - - `http://localhost` - - You see the default IIS Welcome page. - - - -## 1.2. Download and Install PHP Manually - -The procedures in this section guide you to install PHP Manually: - -- Download PHP and the WinCache extension. -- Install PHP and WinCache. -- Add the PHP installation folder to the Path environment variable. -- Set up a handler mapping for PHP. -- Add default document entries for PHP. -- Test your PHP installation. - -To keep this procedure simple, install the WinCache extension but do not configure it. You will configure and test WinCache in [Step 2: Configure PHP Settings](configuring-step-2-configure-php-settings.md). - -### To download and install PHP and WinCache - -1. Open your browser to [Windows for PHP Download Page](https://windows.php.net/download/) and download the PHP non-thread-safe zip package. -2. Download the WinCache extension from the [List of Windows Extensions for PHP](https://sourceforge.net/projects/wincache/). -3. Extract all files in the PHP .zip package to a folder of your choice, for example `C:\PHP\`. -4. Extract the WinCache .zip package to the PHP extensions folder (\ext), for example `C:\PHP\ext`. The WinCache .zip package contains one file (Php\_wincache.dll). -5. Open **Control Panel**, click **System and Security**, click **System**, and then click **Advanced system settings**. -6. In the **System Properties** window, select the **Advanced** tab, and then click **Environment Variables**. -7. Under **System variables**, select **Path**, and then click **Edit**. -8. Add the path to your PHP installation folder to the end of the **Variable value**, for example `;C:\PHP`. Click **OK**. -9. Open IIS Manager, select the hostname of your computer in the **Connections** panel, and then double-click **Handler Mappings**. -10. In the **Action** panel, click **Add Module Mapping**. -11. In **Request path**, type **\*.php**. -12. From the **Module** menu, select FastCgiModule. -13. In the **Executable** box, type the full path to Php-cgi.exe, for example `C:\PHP\Php-cgi.exe`. -14. In **Name**, type a name for the module mapping, for example **FastCGI**. -15. Click **OK**. -16. Select the hostname of your computer in the **Connections** panel, and double-click **Default Document**. -17. In the **Action** panel, click **Add**. Type **Index.php** in the **Name** box, and then click **OK**. -18. Click **Add** again. Type **Default.php** in the **Name** box, and then click **OK**. - -### To test your PHP installation - -1. Open a text editor, for example Notepad, as Administrator. -2. In a new file, type the following text: `` -3. Save the file as `C:\inetpub\wwwroot\Phpinfo.php`. -4. Open a browser and enter the following URL: - - `http://localhost/phpinfo.php` - - A nicely formatted webpage is displayed showing the current PHP settings. - - - -## 1.3. Add Your PHP Application - -Once you have IIS and PHP installed, you can add a PHP application to your web server. This section describes how to set up your PHP application on an IIS web server with PHP installed. It does not explain how to develop a PHP application. - -### To add a PHP web application - -1. Open IIS Manager. - - - For Windows Server 2012, on the **Start** page click the **Server Manager** tile, and then click **OK**. On the **Server Manager Dashboard**, click the **Tools** menu, and then click **Internet Information Services (IIS) Manager**. - - For Windows 8, on the **Start** page type **Control Panel**, and then click the **Control Panel** icon in the search results. On the **Control Panel** screen, click **System and Security**, click **Administrative Tools**, and then **click Internet Information Services (IIS) Manager**. -2. In the **Connections** pane, right-click the **Sites** node in the tree, and then click **Add Website**. -3. In the **Add Website** dialog box, type a friendly name for your website in the **Site name** box. -4. If you want to select a different application pool than the one listed in the **Application Pool** box, click **Select**. In the **Select Application Pool** dialog box, select an application pool from the **Application Pool** list and then click **OK**. -5. In the **Physical path** box, type the physical path of the website's folder, or click the browse button (**...**) to navigate the file system to find the folder. -6. If the physical path that you entered in step 5 is to a remote share, click **Connect as** to specify credentials that have permission to access the path. If you do not use specific credentials, select the **Application user (pass-through authentication)** option in the **Connect As** dialog box. -7. Select the protocol for the website from the **Type** list. -8. The default value in the **IP address** box is **All Unassigned**. If you must specify a static IP address for the website, type the IP address in the **IP address** box. -9. Type a port number in the **Port** text box. -10. Optionally, type a host header name for the website in the **Host Header** box. -11. If you do not have to make any changes to the site, and you want the website to be immediately available, select the **Start Web site immediately** check box. -12. Click **OK**. - -## See also - -- [Configure a PHP Website on IIS](configure-a-php-website-on-iis.md) -- [Step 1: Plan IIS Web Server and PHP Installation](planning-step-1-plan-iis-web-server-and-php-installation.md) -- [Step 2: Configure PHP Settings](configuring-step-2-configure-php-settings.md) -- [Step 3: Configure PHP Application Security](configuring-step-3-configure-php-application-security.md) -- [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-2-configure-php-settings.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-2-configure-php-settings.md deleted file mode 100644 index 82279e643..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-2-configure-php-settings.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "Configuring Step 2: Configure PHP Settings" -author: rmcmurray -description: "In this step of building a PHP website on IIS, you configure the WinCache PHP extension, configure PHP settings, and download and configure any other PHP ext..." -ms.date: 04/14/2013 -ms.assetid: 599f2304-e4d7-4185-a972-15c5eabf915b -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-2-configure-php-settings -msc.type: authoredcontent ---- -# Configuring Step 2: Configure PHP Settings - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -In this step of building a PHP website on IIS, you configure the WinCache PHP extension, configure PHP settings, and download and configure any other PHP extensions that your application requires. - -When you complete these tasks, continue to [Step 3: Configure PHP Application Security](configuring-step-3-configure-php-application-security.md). - - -## 2.1. Configure WinCache - -Before you perform this procedure, you should download in install PHP and WinCache as described in [1.2 Download and Install PHP](configuring-step-1-install-iis-and-php.md#12). For more information about WinCache, see [2.1. Plan WinCache Configuration](planning-step-2-plan-php-settings.md#21). - -### To configure the WinCache PHP extension - -1. In Windows Explorer, open your PHP installation folder, for example `C:\PHP`. -2. Choose either the **php.ini - development** or **php.ini - production** file, and rename it **php.ini**. -3. In a text editor, open the php.ini file and added the following line at the end of the file: `extension = php_wincache.dll`. -4. Save and close the php.ini file. -5. Recycle the IIS Application Pools for PHP to pick up the configuration changes. - -### To view WinCache configuration and other PHP settings - -1. Open a text editor. -2. In a new file, type the following text: `` -3. Save the file as `c:\inetpub\wwwroot\phpinfo.php`. -4. Open a browser and enter the following URL: - - `http://localhost/phpinfo.php` - - A nicely formatted web page is displayed showing the current PHP settings. The WinCache settings appear in a section called **wincache**. - -**Warning**: Delete the phpinfo.php file when it's no longer needed. - - -## 2.2. Configure Other PHP Settings - -The following procedure explains how to configure PHP settings in the php.ini file. For more information about PHP settings, see [2.2. Plan other PHP settings](planning-step-2-plan-php-settings.md#22). - -### To configure a PHP setting - -1. In Windows Explorer, open your PHP installation folder, for example `C:\PHP`. -2. In a text editor, open the php.ini file. -3. Search the file for the setting you want to change. - - If the setting is commented out (line begins with a semicolon [;]), delete the semicolon and set the value. If you can't find the setting, add the line to the end of the file. -4. Save and close the php.ini file. -5. Recycle the IIS Application Pools for PHP to pick up the configuration changes. - - -## 2.3. Configure PHP Extensions - -The following procedure shows how to download and install a PHP extension. For information about PHP extensions, see [2.3 Plan PHP Extensions](planning-step-2-plan-php-settings.md#23). - -### To configure a PHP extension - -1. Download the PHP extension you want from the list of Windows extensions for PHP. -2. Extract the extension zip package to the PHP extensions folder (\ext), for example `C:\PHP\ext`. -3. In Windows Explorer, open your PHP installation folder, for example `C:\PHP`. -4. In a text editor, open the php.ini file. -5. Search the file for the extension you want to configure. If the extension is commented out (line begins with a semicolon [;]), delete the semicolon. If you can't find the extension, add it to the end of the file. A line that adds an extension is in the form: `extension = extension_name.dll`. For example: `extension = php_soap.dll`. -6. Save and close the php.ini file. -7. Recycle the IIS Application Pools for PHP to pick up the configuration changes. - -## See Also - -- [Configure a PHP Website on IIS](configure-a-php-website-on-iis.md) -- [Step 2: Plan PHP Settings](planning-step-2-plan-php-settings.md) -- [Step 1: Install IIS and PHP](configuring-step-1-install-iis-and-php.md) -- [Step 3: Configure PHP Application Security](configuring-step-3-configure-php-application-security.md) -- [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security.md deleted file mode 100644 index ed4fba017..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: "Configuring Step 3: Configure PHP Application Security" -author: rmcmurray -description: "In this last step in building a PHP website on IIS, you configure PHP settings, web server settings, and PHP application settings that improve your website s..." -ms.date: 04/14/2013 -ms.assetid: bfe133a7-7b27-48b0-acb1-30a1bf883426 -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security -msc.type: authoredcontent ---- -# Configuring Step 3: Configure PHP Application Security - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -In this last step in building a PHP website on IIS, you configure PHP settings, web server settings, and PHP application settings that improve your website security. - - -## 3.1. Configure PHP Settings for Security - -The following procedure shows you how to configure PHP settings in the php.ini file. For information about security-related PHP settings, see [3.1. PHP Configuration Settings for Security](planning-step-3-plan-php-application-security.md#31). - -### To configure a PHP setting for security - -1. In Windows Explorer, open your PHP installation folder, for example `C:\PHP`. -2. In a text editor, open the php.ini file. -3. Search the file for the setting you want to change. - - If the setting is commented out (line begins with a semicolon [;]), delete the semicolon and set the value. If you can't find the setting, add the line to the end of the file. -4. Save and close the php.ini file. -5. Recycle the IIS Application Pools for PHP to pick up the configuration changes. - - -## 3.2. Configure Web Server and PHP Application Security - -This section shows how to configure several web server and application settings for IIS. These settings include isolating web applications, enabling per-site PHP configurations, and using request filtering. For more information about web server and PHP application security settings, see [3.2. Web Server and PHP Application Security](planning-step-3-plan-php-application-security.md#32). - -### Isolate Web Applications - -Implement the following recommendations to isolate websites and web applications on your server. - -- Use one application pool per website or web application. -- Limit access to site folders and files to the application pool identity. -- Set up a separate PHP temp folder per site and only give access to the application pool identity. -- Make sure to set an ACL (access control list) on each site root to allow only access to the application pool identity. - -If you have more than one application per application pool, consider creating enough application pools and moving some of the applications to the new pools. - -#### To create an application pool - -1. Open IIS Manager. -2. In the **Connections** pane, click **Application Pools**. -3. In the **Actions** pane, click **Add Application Pool**. -4. In the **Name** box, type a unique name for the application pool. -5. Under **.NET Framework version**, select **No Managed Code**. -6. Select the **Managed pipeline mode**. The **Integrated** mode is recommended. -7. Click **OK**. - -#### To move an application to another application pool - -1. Open IIS Manager. -2. In the **Connections** page, select the website or web application you want to move. -3. In the **Actions** pane, click **Basic Settings**. -4. On the **Edit Site** dialog, click **Select** to open the **Select Application Pool** dialog, and then select the application pool from the **Application pool** menu. -5. Click **OK** to close the **Select Application Pool** dialog, and click **OK** to close the **Edit Site** menu. - -#### To add an application pool identity to a folder or file ACL - -1. Open Windows Explorer and navigate to the folder or file. -2. Right click the folder or file, and then click **Properties**. -3. Select the **Security** tab, and then click **Edit**. -4. Click **Add**, click **Locations**, and select your server as the location to search. -5. In the **Enter the object names to select** box, type **IIS APPPOOL\applicationPoolName**, where *applicationPoolName* is the application pool identity. -6. Click **OK**, click **OK**, and click **OK** again to close the dialogs. - -### Enable Per-site PHP Configuration - -When you have multiple PHP applications on an IIS web server, you can improve security by configuring a PHP process pool and a php.ini file for each application. This section explains how to configure process pools and multiple pnp.ini files by using an **applicationHost.config** file. - -#### Per-site PHP Process Pools - -When each website has its own application pool, which is a recommended practice on IIS, it is possible to associate a dedicated FastCGI process pool with each website. This association is done in the **fastCgi** section of the **applicationHost.config** file. A FastCGI process pool is uniquely identified by the combination of **fullPath** and **arguments** attributes of the **application** element. To create several FastCGI process pools for the same process executable, such as php-cgi.exe, use the **arguments** attribute to distinguish the process pool definitions. With php-cgi.exe processes, use the command line switch "-d" to define an INI entry for a PHP process. And use this switch to set a PHP setting that makes the arguments string unique. - -For example, if there are two Web sites "website1" and "website2" that must have their own set of PHP settings, define the FastCGI process pools as follows: - -[!code-xml[Main](configuring-step-3-configure-php-application-security/samples/sample1.xml)] - -In this example the PHP setting `open_basedir` is used to distinguish between the process pool definitions. The setting also enforces that the PHP executable for each process pool can perform file operations only within the root folder of the corresponding website. - -Therefore, the PHP handler mapping for website1 is as follows: - -[!code-xml[Main](configuring-step-3-configure-php-application-security/samples/sample2.xml)] - -And the handler mapping for website2 is as follows: - -[!code-xml[Main](configuring-step-3-configure-php-application-security/samples/sample3.xml)] - -#### Specifying Php.ini Location - -When the PHP process starts, it determines the location of the configuration php.ini file by using various settings. The [PHP documentation](http://www.php.net/manual/en/configuration.php) provides a detailed description of the PHP startup process. One of the places where the PHP process searches for the php.ini location is the PHPRC environment variable. If the PHP process finds a php.ini file in the path that is specified in this environment variable, it will use it. Otherwise, the PHP process will revert to using the default location of the php.ini file. This environment variable can be used to allow hosting customers to use their own versions of php.ini files. - -For example, if there are two websites, "website1" and "website2," that are located at the following file paths: `C:\WebSites\website1` and `C:\WebSites\website2`, you can configure the php-cgi.exe process pools in the **fastCgi** section of the **applicationHost.config** file as follows: - -[!code-xml[Main](configuring-step-3-configure-php-application-security/samples/sample4.xml)] - -This way website1 can have its own version of the php.ini file that is located in the `C:\WebSites\website1`, while website2 can have its own version of the php.ini file that is located in `C:\WebSites\website2`. This configuration also ensures that if a php.ini file cannot be found in the location that is specified by the PHPRC environment variable, then PHP will use the default php.ini file that is located in the same folder where the php-cgi.exe is located. - -### Use Request Filtering - -For information about how to configure request filtering, see [Configure Request Filtering in IIS](../../manage/configuring-security/configure-request-filtering-in-iis.md). - -## See Also - -- [Configure a PHP Website on IIS](configure-a-php-website-on-iis.md) -- [Step 3: Plan PHP Application Security](planning-step-3-plan-php-application-security.md) -- [Step 1: Install IIS and PHP](configuring-step-1-install-iis-and-php.md) -- [Step 2: Configure PHP Settings](configuring-step-2-configure-php-settings.md) -- [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample1.xml b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample1.xml deleted file mode 100644 index a985ddb19..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample1.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample2.xml b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample2.xml deleted file mode 100644 index 8a7692953..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample3.xml b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample3.xml deleted file mode 100644 index 01efb7e1a..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample3.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample4.xml b/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample4.xml deleted file mode 100644 index 8612acb47..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-3-configure-php-application-security/samples/sample4.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md deleted file mode 100644 index 88ea7c844..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "Overview: Build a PHP Website on IIS" -author: rmcmurray -description: "This document contains an overview of the Build a PHP website on IIS scenario. It also contains links to additional information and community resources relat..." -ms.date: 04/14/2013 -ms.assetid: 6da818a0-c6f2-4a37-a122-0373c4b18f2d -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis -msc.type: authoredcontent ---- -# Overview: Build a PHP Website on IIS - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -This document contains an overview of the **Build a PHP website on IIS** scenario. It also contains links to additional information and community resources related to the scenario. - -## Scenario Description - -This scenario shows how to plan and configure a PHP website on an IIS 8 webserver. It is divided into two phases: a plan and design phase, and an install and configure phase. In the plan and design phase, you are provided the information needed to make informed decisions about web server installation, PHP settings, and basic application security. In the install and configure phase, you are guided through the procedures required to install IIS, add a PHP application, and configure IIS and PHP. - -This scenario does not cover how to write a PHP application. - -## In This Scenario - -- [Plan a PHP Website on IIS](plan-a-php-website-on-iis.md) - - - [Step 1: Plan IIS Web Server and PHP Installation](planning-step-1-plan-iis-web-server-and-php-installation.md) - - [Step 2: Plan PHP Settings](planning-step-2-plan-php-settings.md) - - [Step 3: Plan PHP Application Security](planning-step-3-plan-php-application-security.md) -- [Configure a PHP Website on IIS](configure-a-php-website-on-iis.md) - - - [Step 1: Install IIS and PHP](configuring-step-1-install-iis-and-php.md) - - [Step 2: Configure PHP Settings](configuring-step-2-configure-php-settings.md) - - [Step 3: Configure PHP Application Security](configuring-step-3-configure-php-application-security.md) - - - -## Practical Applications - -Whether you are an IT professional, a web developer, or you just want to set up your own webserver, this scenario can help you install IIS and configure it to serve your PHP web application. - -## Software Requirements - -To get the most from this scenario, you must have access to a computer running one of the following operating systems: - -- Windows Server® 2012 -- Windows® 8 - -## See Also - -The following table contains links to resources related to this scenario. - -| Content type | References | -| --- | --- | -| **Deployment** | [Deployment to a Hosting Provider](https://www.asp.net/web-forms/tutorials/deployment-to-a-hosting-provider/deployment-to-a-hosting-provider-introduction-1-of-12) | [Web Deploy 2.0](https://www.iis.net/downloads/microsoft/web-deploy) | -| **Operations** | [IIS.NET](https://www.iis.net/) | [IIS Learning Center](https://www.iis.net/learn) | -| **Tools and Settings** | Microsoft.IIs.PowerShell.Provider namespace | -| **Community Resources** | [IIS Blogs](https://blogs.iis.net/) | [IIS Forums](https://forums.iis.net/) | [Robert McMurray's Blog](https://blogs.msdn.com/b/robert_mcmurray/) | [Scott Forsyth's Blog](https://blogs.iis.net/owscott/default.aspx) | [Steve Schofield's Blog](https://blogs.iis.net/steveschofield/default.aspx) | -| **Related Technologies** | [ASP.NET](https://www.asp.net/) | [ASP.NET Web Projects](https://msdn.microsoft.com/library/ywdtth2f.aspx) | diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/plan-a-php-website-on-iis.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/plan-a-php-website-on-iis.md deleted file mode 100644 index 3ac9f3b77..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/plan-a-php-website-on-iis.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Plan a PHP Website on IIS" -author: rmcmurray -description: "To develop a plan for installing an IIS web server and configuring it for PHP web applications, follow these steps listed: Plan IIS Web Server and PHP Instal..." -ms.date: 04/14/2013 -ms.assetid: 85e4ce42-5661-4f6e-ad3a-4d09a6aef0ae -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/plan-a-php-website-on-iis -msc.type: authoredcontent ---- -# Plan a PHP Website on IIS - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -## Overview - -To develop a plan for installing an IIS web server and configuring it for PHP web applications, follow the steps listed. - -- [Step 1: Plan IIS Web Server and PHP Installation](planning-step-1-plan-iis-web-server-and-php-installation.md) -- [Step 2: Plan PHP Settings](planning-step-2-plan-php-settings.md) -- [Step 3: Plan PHP Application Security](planning-step-3-plan-php-application-security.md) - -After you have reviewed these planning steps, see [Configure a PHP Website on IIS](configure-a-php-website-on-iis.md). For more information, see [Build a PHP Website on IIS](overview-build-a-php-website-on-iis.md). - -## Software Requirements - -To get the most from this scenario, you must have access to a computer running one of the following operating systems: - -- Windows Server® 2012 -- Windows® 8 diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-1-plan-iis-web-server-and-php-installation.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-1-plan-iis-web-server-and-php-installation.md deleted file mode 100644 index 18816f362..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-1-plan-iis-web-server-and-php-installation.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Planning Step 1: Plan IIS Web Server and PHP Installation" -author: rmcmurray -description: "The first step in planning to build a PHP website on IIS 8 is to determine how to install IIS along with the CGI module, where to download and install the ap..." -ms.date: 04/14/2013 -ms.assetid: b484d7e9-eedf-4ea3-90be-5c14a0f5201d -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-1-plan-iis-web-server-and-php-installation -msc.type: authoredcontent ---- -# Planning Step 1: Plan IIS Web Server and PHP Installation - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -The first step in planning to build a PHP website on IIS 8 is to determine how to install IIS along with the CGI module, where to download and install the appropriate PHP version, and how to add your application files to IIS. - -When you are done with these tasks, record your design decisions before going on to [Step 2: Plan PHP Settings](planning-step-2-plan-php-settings.md). - - -## 1.1. Plan to Install IIS - -To support PHP applications on an IIS web server, install the default configuration of IIS and the CGI module. The CGI module contains both CGI (Common Gateway Interface protocol) and FastCGI. FastCGI is a high-performance extension to CGI and is recommended for PHP applications. Once your machine has this IIS configuration installed, you can download and install PHP. - -> [!IMPORTANT] -> To install IIS 8 on either Windows Server® 2012 or Windows® 8, you must sign on as a member of the Administrators group. - - -## 1.2. Plan to Download and Install PHP - -The simplest way to install PHP is to use Web Platform Installer (Web PI). Web PI installs the latest version of PHP along with any dependencies that version requires. To learn more about the Web PI, see [Learn More and Install the Web PI](https://go.microsoft.com/fwlink/?LinkID=145510). - -To add PHP support manually to your IIS web server, download and install the PHP runtime version that you require. You can download Windows versions of PHP from the [PHP for Windows](http://windows.php.net/) site. - -There are two builds for each PHP version: one is thread-safe, and the other is non-thread-safe. The thread-safe version is designed for environments where the web server keeps the PHP engine in memory, running multiple treads of execution simultaneously. The architecture of IIS and the FastCGI extension provide an isolation model that keeps requests separate, removing the need for a thread-safe version of PHP. The non-thread-safe version of PHP gives better performance on IIS with FastCGI install than does the tread-safe version. - -PHP offers several extensions that extend its base functionality. One extension is important for PHP web applications that run on IIS-the Windows Cache Extension for PHP (WinCache). WinCache is a PHP accelerator that is used to increase the speed of PHP applications that run on Windows and Windows Server. Once the WinCache is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications. - -You can download WinCache extension from the [PHP for Windows](https://sourceforge.net/projects/wincache/) site. - - -## 1.3. Plan to Add a PHP Application - -An application is a grouping of content at the root level of a website or a grouping of content in a separate folder under the website root directory. When you add an application in IIS 8, you designate a directory as the *application root*, or starting point, for the application. Then specify properties specific to that particular application, such as the application pool that the application runs in. - -To configure your PHP application on an IIS website, provide the following information: - -- **Alias**: The alias is used as part of the application root URL and should be short and descriptive. For example, the alias *marketing* added to the default website on the local host computer, would produce the following URL: `//localhost/marketing`. -- **Application pool**: An application pool enables an application or a group of applications to run in isolation from one or more applications in another application pool. -- **Physical path**: The local path to the application files on the server. - -## See Also - -- [Plan a PHP Website on IIS](plan-a-php-website-on-iis.md) -- [Step 1: Install IIS and PHP](configuring-step-1-install-iis-and-php.md) -- [Step 2: Plan PHP Settings](planning-step-2-plan-php-settings.md) -- [Step 3: Plan PHP Application Security](planning-step-3-plan-php-application-security.md) -- [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-2-plan-php-settings.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-2-plan-php-settings.md deleted file mode 100644 index b9f7aff3d..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-2-plan-php-settings.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Planning Step 2: Plan PHP Settings" -author: rmcmurray -description: "In this phase of building your PHP website, plan to set up the WinCache PHP extension, determine what configuration settings you require for PHP, and what PH..." -ms.date: 04/14/2013 -ms.assetid: 5baccb6d-183b-4b1b-839f-4db5a32acbd9 -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-2-plan-php-settings -msc.type: authoredcontent ---- -# Planning Step 2: Plan PHP Settings - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -In this phase of building your PHP website, plan to set up the WinCache PHP extension, determine what configuration settings you require for PHP, and what PHP extensions your application requires. - -When you are done with these tasks, record your design decisions before going on to [Step 3: Plan PHP Application Security](planning-step-3-plan-php-application-security.md). - - -## 2.1. Plan WinCache Configuration - -WinCache is a PHP extension that accelerates PHP applications, which run on Windows and Windows Server. For the most installations, the WinCache extension must be added to the php.ini file and no other configuration is required. However, if you want more control, WinCache offers many configuration settings. You can see a full list of setting in the [WinCache Runtime Configuration](http://us2.php.net/manual/en/wincache.configuration.php) page. - - -## 2.2. Plan Other PHP Settings - -Configuration and environmental settings for PHP are contained within the Php.ini, which is located in the PHP folder that you create during installation, for example `C:\PHP`. The following sections contain a number of settings for the Php.ini file that help PHP work better with Windows. - -### Required Settings - -- **extension\_dir = <PATH TO EXTENSIONS>**: The extension\_dir points to the directory where the PHP extensions are stored. The path can be fully qualified (for example, `C:\PHP\ext`) or relative (for example, .\ext). Extensions that are specified lower in the Php.ini file are located in the extension\_dir. If the extensions specified are not in the extension\_dir, then PHP displays a warning message at the start of script execution, and the application may show errors because of the missing functionality. -- **extension = xxxxxx.dll**: For each extension enabled, a corresponding extension= directive that tells PHP which extensions in the extension\_dir to load at startup time is necessary. -- **log\_errors = On**: PHP errors can also go through the PHP error logging facility. This can be used to send errors to a file or to a service (for example, syslog) and works with the error\_log directive described below. When running under IIS, log\_errors must be enabled with a valid error\_log. Otherwise, FastCGI considers any startup -- **error\_log = <path\_to\_error\_log\_file>**: The error\_log must specify the fully qualified, or relative, path to the file where the PHP error log is stored. This file must be writable for the IIS service. The most common places for this file are in various temporary directories (for example, `C:\inetpub\temp\php-errors.log`). That puts the log in a place that IIS can use and keeps the log close to where PHP applications are running. -- **cgi.force\_redirect = 0**: This directive is required for running under IIS. It is a directory security facility that is required by many other web servers. However, enabling it under IIS causes the PHP engine to fail on Windows. -- **cgi.fix\_pathinfo = 1**: This setting lets PHP access real path information per the CGI specification. The IIS FastCGI implementation needs this extension set. -- **fastcgi.impersonate = 1**: FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This setting allows IIS to define the security context that the request runs under. -- **fastcgi.logging = 0**: FastCGI logging should be disabled when you use PHP with IIS. If it is left enabled, then any messages of any class are treated by FastCGI as error conditions, which causes IIS to generate an HTTP 500 exception. - -### Optional Settings - -- **max\_execution\_time = ##**: This directive sets the maximum amount of time that can be taken executing any given script. The default is 30 seconds. Some applications need more time to process batch operations (for example, Gallery2 loading multiple images from a remote location). However, setting the execution time higher than 300 seconds is not advised because there are often other parts of the connection that cannot support such a long execution time. -- **memory\_limit = ###M**: The amount of memory available for the PHP process (in MB). The default is 128 MB, which is sufficient for most PHP applications. -- **display\_errors = Off**: This directive determines whether to include any error messages in the stream that it returns to the web server. If turned on, PHP sends the classes of errors that are defined with the error\_reporting directive back to IIS as part of the error stream. Many of the open-source applications bypass error reporting by executing commands prefaced with @. This setting allows the applications to control error handling. -- **Mail functions**: PHP is configured by default to send outbound mail through an SMTP server that is located on the same system as the web server. Most Windows installations usually have the web and mail servers on separate systems. - - -## 2.3. Plan PHP Extensions - -It is important to determine which extensions are required by the applications you intend to run, and then to limit the installed extensions to those extensions only. For example, a typical open-source PHP application might require the following types of extensions: - -- **Database Extensions**: Open-source applications that use MySQL for a database engine use either the php\_mysql or the php\_mysqli extension. For new development work, either of these extensions work well. Consider using the PDO versions of the MySQL driver. PDO is a PHP extension that provides a data-access abstraction layer that can be used with various databases. Microsoft provides PHP drivers for SQL server that you can download. To learn more about PHP drivers for SQL Server, see [Microsoft Drivers for PHP for SQL Server](/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver16&preserve-view=true). -- **Image Handling Extensions**: Open-source applications that enable work with images use the GD2 extension - php\_gd2, which has several application programming interfaces (APIs) for basic image manipulation. Some applications use the [ImageMagick](http://www.imagemagick.org/script/index.php) application and libraries. There is also a php\_exif library for working with the extended information that modern digital cameras store within the images. -- **Internationalization and Localization Extensions**: The two most commonly used extensions for i18n and l10n are php\_mbstring (Multi-Byte String) and php\_gettext (Native Language Support). Many of the open-source applications use one or both of these extensions. -- **Web Services Extensions**: Choose the web services extensions based on the services desired. For PHP, the SOAP extension is widely used. The XML-RPC extension is often used with SOAP and other services. - -To view the entire list of PHP extensions available for applications that run on Windows platforms, see the complete list of Windows extensions for PHP. - -## See Also - -- [Plan a PHP Website on IIS](plan-a-php-website-on-iis.md) -- [Step 2: Configure PHP Settings](configuring-step-2-configure-php-settings.md) -- [Step 1: Plan IIS Web Server and PHP Installation](planning-step-1-plan-iis-web-server-and-php-installation.md) -- [Step 3: Plan PHP Application Security](planning-step-3-plan-php-application-security.md) -- [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-3-plan-php-application-security.md b/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-3-plan-php-application-security.md deleted file mode 100644 index 4aa21b40f..000000000 --- a/iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-3-plan-php-application-security.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: "Planning Step 3: Plan PHP Application Security" -author: rmcmurray -description: "In this phase of Building a PHP website on IIS, consider what PHP configuration settings, web server settings, and PHP application settings you need to stren..." -ms.date: 04/14/2013 -ms.assetid: 9a259178-7fde-4bda-bd7a-17caf6a0df80 -msc.legacyurl: /learn/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-3-plan-php-application-security -msc.type: authoredcontent ---- -# Planning Step 3: Plan PHP Application Security - -by [Keith Newman and Robert McMurray](https://github.com/rmcmurray) - -In this phase of Building a PHP website on IIS, consider what PHP configuration settings, web server settings, and PHP application settings you need to strengthen security. - -When you are done with these tasks, record your design decisions before going on to [Step 1: Install IIS and PHP](configuring-step-1-install-iis-and-php.md). - - -## 3.1. PHP Configuration Settings for Security - -The dynamic capabilities of PHP also make it a potential security risk because data is actively fetched, received, and processed from anywhere on the Internet. Attackers may attempt to send in malicious data and scripts and trick your server into fetching malicious scripts and running them. Attackers may also attempt to read and write files on your server to take control of the web site and use it for their own purposes. - -You can configure PHP settings to tighten the security of a PHP installation and help protect the website from malicious attacks. The Php.ini file specifies the configuration settings PHP uses when it is running on your website. The Php.ini file determines what PHP scripts are allowed to do and prohibited from doing. - -This section describes the configuration settings that help to protect your PHP applications. - -### Disable File Handling for Remote URLs - -`allow_url_fopen = Off` -`allow_url_include = Off` - -This setting is very important because it prevents URLs from being used in statements such as include(). Setting **allow\_url\_fopen** to "Off" means that only files that reside within your website can be included. You can't include a file from a different server, but neither can other people through Remote File Inclusion (RFI) attacks. In an RFI attack, someone embeds a URL in an HTTP request hoping that your script is tricked into running theirs. A command such as `include("http://website.com/page.php")`, for example, is not allowed to execute. - -Include a file from your own site by specifying its path and filename. For example, if you have a URL **include** line, convert it to: `include($_SERVER['DOCUMENT_ROOT'] . '/page.php');` - -The code segment `$_SERVER['DOCUMENT_ROOT']` is a superglobal variable set to the root folder of your site. (Note that there is no trailing "/"; you must provide a leading "/" in '/page.php'.) - -If you want to include static content from another one of your websites, such as `include('http://myothersite.com/includes/footer.php')`, make a copy of that content in the current site and then include it locally. - -### Disable Register\_Globals - -`register_globals = Off` - -This setting makes it difficult for an attacker to inject code into your script. For example, in `URL http://site.com/index.php?variable=value`, the variable passes into your script with its value set to **value** when **register\_globals** is **On**. When **register\_globals** is **Off**, however, variables do not automatically pass into your script's variable list. - -### Restrict File System Read/Write - -`open_basedir = "c:\inetpub\"` - -This setting restricts PHP scripts from accessing files outside the specified base directory. - -### Disable Safe Mode - -`safe_mode = Off` -`safe_mode_gid = Off` - -This setting restricts the permissions with which PHP scripts run. Some third-party scripts do not run properly when safe\_mode is set to "On." Note that beginning with PHP 6 safe\_mode does not exist. - -### Limit Script Execution Time - -`max_execution_time = 30` -`max_input_time = 60` - -These settings control the number of seconds a script is allowed to run and parse user input. These settings help prevent poorly written scripts from typing up the server. - -### Limit Memory Usage and File Size - -`memory_limit = 16M` -`upload_max_filesize = 2M` -`post_max_size = 8M` -`max_input_nesting_levels = 64` - -These settings help manage memory and input/output efficiently. In addition, they prevent poorly written scripts from hogging memory and handling huge files. - -### Configure Error Logging - -`display_errors = Off` -`display_startup_errors = Off` `log_errors = On` -`error_log = "C:\path\of\your\choice"` - -These settings specify that all errors and warnings get logged to your error log text file and specify that none of the errors or warnings get displayed on any web page that is sent out from your server. Errors should not be displayed publicly because they can help someone figure out how to attack your server. Always check your error log when you are testing new code. - -### Enable FastCGI Impersonation - -`fastcgi.impersonate = 1` - -This setting enables IIS to impersonate the security tokens of calling client and define the security context that is used to run the request. - -### Disable FastCGI Logging - -`fastcgi.logging = 0` - -The FastCGI module will fail the request when PHP sends any data on **stderr** by using FastCGI protocol. Disabling FastCGI logging will prevent PHP from sending error information over **stderr**, and generating 500 response codes for the client. - -### Hide PHP Presence - -`expose_php = Off` - -With this setting, the headers that accompany outgoing pages do not reveal that PHP is running or its version. - - -## 3.2. Web Server and PHP Application Security - -### Isolate Web Applications - -One of the most effective ways to improve security for your web application is to isolate it from other applications on your web server. An application pool has its own worker process, which processes requests and runs application code. The worker process has a security identifier (SID). And each application pool has a unique application-pool identity. By default, when you create a web application, a new application pool is also created with the same name as the application. If you keep web applications in separate application pools, you can isolate them from one another. - -Web application isolation entails the following: - -- Site isolation: Separate different applications into different sites with different application pools. -- Least privilege: Run your worker process as a low privileged identity (virtual application pool identity) that is unique per site. -- Temp isolation: Set up a separate PHP temp folder per site and only give access to appropriate process identity. -- Content isolation: Make sure to set an ACL (access control list) on each site root to allow only access to the appropriate process identity - -> [!TIP] -> It is a good idea to host your website and web application content on a drive other than your system drive (C:). - -### Enable Per-site PHP Configuration - -The FastCGI handler makes it possible to use a different Php.ini file for every application mapping. You can customize your PHP configuration around the specific requirements of your users or your PHP applications, letting you tighten configuration. - -### Use Request Filtering - -The request filtering module inspects known malicious patterns in the requests and prevents such requests from being serviced if the module determines that the requests may be harmful. For example, this module lets you filter requests that are double escaped, filter requests that use certain HTTP verbs, or block requests to specific folders. You can enforce tighter security policies on your web servers with the request filtering module. For more information about request filtering, see [Configure Request Filtering in IIS](../../manage/configuring-security/configure-request-filtering-in-iis.md). - -## See Also - -- [Plan a PHP Website on IIS](plan-a-php-website-on-iis.md) -- [Step 1: Install IIS and PHP](configuring-step-1-install-iis-and-php.md) -- [Step 1: Plan IIS Web Server and PHP Installation](planning-step-1-plan-iis-web-server-and-php-installation.md) -- [Step 2: Plan PHP Settings](planning-step-2-plan-php-settings.md) -- [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/configuration/system.webServer/fastCgi/application/environmentVariables/environmentVariable.md b/iis/configuration/system.webServer/fastCgi/application/environmentVariables/environmentVariable.md index 0e15cfd40..c9481321f 100644 --- a/iis/configuration/system.webServer/fastCgi/application/environmentVariables/environmentVariable.md +++ b/iis/configuration/system.webServer/fastCgi/application/environmentVariables/environmentVariable.md @@ -264,10 +264,6 @@ The following configuration sample adds a global FastCGI handler mapping for PHP > > [!code-xml[Main](environmentVariable/samples/sample3.xml)] -Additional information and examples about how to configure FastCGI settings for PHP are discussed in the following walkthrough: - -> [Using FastCGI to Host PHP Applications on IIS 7](/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis) - ## Sample Code diff --git a/iis/configuration/system.webServer/fastCgi/application/environmentVariables/index.md b/iis/configuration/system.webServer/fastCgi/application/environmentVariables/index.md index 2b05a68a2..856b6b7f0 100644 --- a/iis/configuration/system.webServer/fastCgi/application/environmentVariables/index.md +++ b/iis/configuration/system.webServer/fastCgi/application/environmentVariables/index.md @@ -258,10 +258,6 @@ The following configuration sample adds a global FastCGI handler mapping for PHP > > [!code-xml[Main](index/samples/sample3.xml)] -Additional information and examples about how to configure FastCGI settings for PHP are discussed in the following walkthrough: - -- [Using FastCGI to Host PHP Applications on IIS 7](/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis) - ## Sample Code diff --git a/iis/configuration/system.webServer/fastCgi/application/index.md b/iis/configuration/system.webServer/fastCgi/application/index.md index 5827a606f..6596764f6 100644 --- a/iis/configuration/system.webServer/fastCgi/application/index.md +++ b/iis/configuration/system.webServer/fastCgi/application/index.md @@ -302,10 +302,6 @@ The following configuration sample adds a global FastCGI handler mapping for PHP > > [!code-xml[Main](index/samples/sample3.xml)] -Additional information and examples about how to configure FastCGI settings for PHP are discussed in the following walkthrough: - -> [Using FastCGI to Host PHP Applications on IIS 7](/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis) - ## Sample Code diff --git a/iis/configuration/system.webServer/fastCgi/index.md b/iis/configuration/system.webServer/fastCgi/index.md index e53a57730..891ccbaf7 100644 --- a/iis/configuration/system.webServer/fastCgi/index.md +++ b/iis/configuration/system.webServer/fastCgi/index.md @@ -255,10 +255,6 @@ The following configuration sample adds a global FastCGI handler mapping for PHP > FastCGI settings can be configured per-site through the use of specially formatted FastCGI application and by handler mappings, which are distinguished by matching the **fullPath** and **arguments** attributes for an `` element with the corresponding **scriptProcessor** attribute in the `` mapping for the FastCGI process. To create these mappings, the settings in the **fullPath** and **arguments** attributes for an `` element must be added to the **scriptProcessor** attribute in the `` mapping for the FastCGI process and separated by the pipe "|" character. This combination serves as a unique key for each FastCGI application. For example, the following configuration excerpt shows two example <fastCgi>/<application> elements and their corresponding <handlers> mappings for two site-specific PHP handlers: > [!code-xml[Main](index/samples/sample3.xml)] -Additional information and examples about how to configure FastCGI settings for PHP are discussed in the following walkthrough: - -> [Using FastCGI to Host PHP Applications on IIS 7](/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis) - ## Sample Code The following code samples add a FastCGI application for PHP, set the **instanceMaxRequests** attribute to "10000," and set the `PHP_FCGI_MAX_REQUESTS` environment variable to "10000." Each sample also adds a global FastCGI handler mapping for PHP files to IIS and specifies the full path to a FastCGI executable file. diff --git a/iis/extensions/introduction-to-iis-express/iis-express-faq.yml b/iis/extensions/introduction-to-iis-express/iis-express-faq.yml index 94153b0f7..9d732c93d 100644 --- a/iis/extensions/introduction-to-iis-express/iis-express-faq.yml +++ b/iis/extensions/introduction-to-iis-express/iis-express-faq.yml @@ -27,11 +27,6 @@ sections: answer: | The current release is IIS 7.5 Express. As the name suggests, this release is derived from the IIS 7.5 server codebase. - - question: | - How does it relate to Microsoft WebMatrix? - answer: | - Microsoft WebMatrix is a simple and integrated suite of tools that streamline ASP.NET and PHP development. IIS Express is the Web server that is included with WebMatrix. You can also install IIS Express all by itself using the following link. See [IIS Express Overview](iis-express-overview.md "IIS Express Overview") for information on the various ways to install the product. - - question: | Can I use IIS Express with Visual Studio? answer: | @@ -66,11 +61,6 @@ sections: answer: | Yes IIS Express supports SSL. The setup program will install a default, self-signed server certificate in the machine store and configure ports 44300-44399 for use with SSL. You can also set up and configure custom SSL certificates for your websites as an administrator. - - question: | - Does IIS Express support PHP? - answer: | - Yes, IIS Express includes the CGI and FastCGI modules for PHP. The best way to develop PHP applications using IIS Express is to install WebMatrix. This will automatically install and configure PHP and also allow you to download and customize popular gallery applications such as WordPress, Joomla etc. - - question: | Can IIS Express be redistributed or embedded in other applications? answer: | diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress.md b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress.md deleted file mode 100644 index 3f7fddc0f..000000000 --- a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "Enabling Pretty Permalinks in WordPress" -author: ruslany -description: "This walkthrough describes how to enable “ Pretty Permalinks ” for blog posts in the WordPress blog engine that is installed on IIS 7 and above. Typically, w..." -ms.date: 05/30/2008 -ms.assetid: 7d7afc06-8b24-4ee0-90a6-0a6ea9a2b89a -msc.legacyurl: /learn/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress -msc.type: authoredcontent ---- -# Enabling Pretty Permalinks in WordPress - -by [Ruslan Yakushev](https://github.com/ruslany) - -This walkthrough describes how to enable "[Pretty Permalinks](http://codex.wordpress.org/Using_Permalinks "Pretty Permalinks")" for blog posts in the [WordPress](http://www.wordpress.org/ "WordPress") blog engine that is installed on IIS 7 and above. Typically, without URL rewriting functionality on a Web server, WordPress users must use "Almost Pretty" URLs, for example, `http://contoso.com/index.php/yyyy/mm/dd/post-name/`. By using the URL Rewrite module, you can use "Pretty Permalinks," for example, `http://example.com/year/month/day/post-name/`, for WordPress blogs that are hosted on IIS. - -## Prerequisites - -This walkthrough requires the following prerequisites: - -1. IIS 7 or above with FastCGI and PHP installed. If you need to install PHP, follow the instructions in [this article](../../application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md "Install PHP"). -2. WordPress installed. If you need to install WordPress, follow the instructions in [this article](../../application-frameworks/install-and-configure-php-applications-on-iis/install-wordpress-on-iis.md "Install WordPress") or use the instructions from the official [WordPress site](https://wordpress.org/support/article/how-to-install-wordpress). -3. URL Rewrite installed. - -Note that for the purposes of this walkthrough it is assumed that WordPress is installed in a Web site root directory. If WordPress is installed in a subdirectory, then the rewrite rules that are used in this walkthrough should be included in the Web.config file that is located within the same subdirectory where the WordPress files are. - -## Enabling Pretty Permalinks in WordPress - -Use the following instructions to create pretty permalinks for your blog posts. - -**To enable pretty permalinks in Word Press:** - -1. Log on to WordPress with Administrator user rights. -2. In WordPress, click the **Options** tab. -3. On the **Options** page, click the **Permalinks** subtab. - This will take you to the page where you can customize how WordPress generates permalinks for blog posts. -4. On the **Permalinks** page, select **Custom, specify below** and enter "/%year%/%monthnum%/%day%/%postname%/" in the **Custom structure** text box. -5. Click **Update Permalink Structure**. - ![Screenshot of a browser window showing the Customize Permalink Structure in a tab.](enabling-pretty-permalinks-in-wordpress/_static/image1.png) - -All the blog post links will have URLs that follow the format that you have specified, but if you click any one of those links the Web server will return a 404 - File Not Found error. This is because WordPress relies on a URL rewriting capability within the server to rewrite requests that have "pretty permalinks" to an Index.php file. In the next section, you will create a rule that will provide this capability. - -## Creating a Rewrite Rule - -Open the Web.config file that is located in the same directory where the WordPress files are installed, and paste the following XML section into the system.webServer element: - -[!code-xml[Main](enabling-pretty-permalinks-in-wordpress/samples/sample1.xml)] - -This rule will try to match any requested URL. If the URL does not correspond to a file or a folder on the file system, it will rewrite the URL to the Index.php file. At that point, WordPress will determine which content to serve based on the REQUEST\_URI server variable that contains the original URL before it was modified by this rule. - -## Testing the Rewrite Rule - -After you save the rewrite rule to the Web.config file, open a Web browser and click any one of the permalinks in your WordPress blog. You should see the correct content returned by the Web server for each permalink. - -![Screenshot of a browser window showing the hello world example in a tab. ](enabling-pretty-permalinks-in-wordpress/_static/image5.png) - -## Summary - -In this walkthrough you learned how to use the URL Rewrite module to enable "pretty permalinks" in the WordPress blog engine. WordPress is just one example of the many popular PHP applications that can take advantage of the URL Rewrite module in IIS, a feature that enables user-friendly and search engine-friendly URLs. diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image1.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image1.png deleted file mode 100644 index fb263506f..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image1.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image2.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image2.png deleted file mode 100644 index fb263506f..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image2.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image3.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image3.png deleted file mode 100644 index fb263506f..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image3.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image4.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image4.png deleted file mode 100644 index fb263506f..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image4.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image5.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image5.png deleted file mode 100644 index 3d4f99280..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image5.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image6.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image6.png deleted file mode 100644 index 3d4f99280..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image6.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image7.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image7.png deleted file mode 100644 index 3d4f99280..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image7.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image8.png b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image8.png deleted file mode 100644 index 3d4f99280..000000000 Binary files a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/_static/image8.png and /dev/null differ diff --git a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/samples/sample1.xml b/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/samples/sample1.xml deleted file mode 100644 index 74d78fe4f..000000000 --- a/iis/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress/samples/sample1.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/extensions/url-rewrite-module/using-the-url-rewrite-module.md b/iis/extensions/url-rewrite-module/using-the-url-rewrite-module.md index 74f666f56..f435b3d97 100644 --- a/iis/extensions/url-rewrite-module/using-the-url-rewrite-module.md +++ b/iis/extensions/url-rewrite-module/using-the-url-rewrite-module.md @@ -72,7 +72,6 @@ These articles cover the functionality of the URL Rewrite Module and explain how - [Using global and distributed rules](using-global-and-distributed-rewrite-rules.md "Using global and distributed rewrite rules") - [Using Rewrite maps](using-rewrite-maps-in-url-rewrite-module.md "Using rewrite maps") - [Importing Apache mod\_rewrite rules](importing-apache-modrewrite-rules.md "Importing rewrite rules") -- [Enabling Pretty Permalinks in WordPress](enabling-pretty-permalinks-in-wordpress.md "Enabling Pretty Permalinks") - [Rule templates](rule-templates-overview.md) - [User Friendly URL](user-friendly-url-rule-template.md) diff --git a/iis/get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md b/iis/get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md index 534151c3f..cb2a9d44a 100644 --- a/iis/get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md +++ b/iis/get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md @@ -33,7 +33,6 @@ Each scenario is self-contained. You can read them in any order and concentrate | [Build a Static Website on IIS](../../manage/creating-websites/scenario-build-a-static-website-on-iis.md) | Shows how to install IIS with the minimum module configuration to server static websites. Describes how to add a website, configure anonymous authentication, set up a default document, set up static content compression, use IIS logging, and filter requests. | | [Build a Classic ASP Website on IIS](../../application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md) | Shows how to install IIS with the modules required to server classic ASP websites. Explains how to add a websites and edit ASP application settings. | | [Build an ASP.NET Website on IIS](../../application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) | Guides you through planning, installing, and configuring an ASP.NET website on IIS. Describes what IIS modules to install. Shows how to configure ASP.NET settings, such as session state, pages and controls, application settings, .NET compilation and globalization settings. Explains how to configure data source settings. And shows how to improve security with application isolation, .NET trust levels, .NET authentication, machine key settings, and SSL communication. | -| [Build a PHP Website on IIS](../../application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) | Guides you through planning, installing, and configuring a PHP website on IIS. Describes what IIS modules to install. Describes how to configure essential PHP settings. Explains how to configure WinCache and other PHP extensions. Describes how to improve security of a PHP application on IIS. | | [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) | Shows how to install FTP on an existing IIS web server. Describes how to add an FTP site, configure FTP site defaults, fire wall support, user isolation, and directory browsing options. Shows how to configure logon attempt restrictions, request filtering, FTP logging, and FTP messages. | | [Build a Web Farm with IIS Servers](../../web-hosting/scenario-build-a-web-farm-with-iis-servers/overview-build-a-web-farm-with-iis-servers.md) | Guides you through planning, installing, and configuring a simple server farm with IIS servers. Helps you plan and configure the farm infrastructure. Shows how set up load balancing by using Application Request Routing (ARR). Describes how to set up shared content and shared configuration. Shows how to set up a central certificate store for SSL certificates. Explains how to set up FTP and Web Deploy on the server farm. | diff --git a/iis/get-started/localized-content/iis-localized-japanese-learn-articles-and-more.md b/iis/get-started/localized-content/iis-localized-japanese-learn-articles-and-more.md index 119fa5ca3..810dac8cb 100644 --- a/iis/get-started/localized-content/iis-localized-japanese-learn-articles-and-more.md +++ b/iis/get-started/localized-content/iis-localized-japanese-learn-articles-and-more.md @@ -19,7 +19,7 @@ by IIS Team ### IIS TechCenter メニュー: -| [![](iis-localized-japanese-learn-articles-and-more/_static/image1.png)](https://technet.microsoft.com/iis/default.aspx "IIS TechCenter (日本語版)") | [![](iis-localized-japanese-learn-articles-and-more/_static/image2.png)](https://technet.microsoft.com/iis/ee794964.aspx "PHP on IIS (日本語版)") | [![](iis-localized-japanese-learn-articles-and-more/_static/image3.png)](https://technet.microsoft.com/iis/dd936209.aspx "IIS の資格と学習教材 (日本語版)") | [![](iis-localized-japanese-learn-articles-and-more/_static/image4.png)](https://technet.microsoft.com/iis/dd742256.aspx "IIS 7 拡張機能のダウンロード") | +| [![](iis-localized-japanese-learn-articles-and-more/_static/image1.png)](https://technet.microsoft.com/iis/default.aspx "IIS TechCenter (日本語版)") | [![](iis-localized-japanese-learn-articles-and-more/_static/image3.png)](https://technet.microsoft.com/iis/dd936209.aspx "IIS の資格と学習教材 (日本語版)") | [![](iis-localized-japanese-learn-articles-and-more/_static/image4.png)](https://technet.microsoft.com/iis/dd742256.aspx "IIS 7 拡張機能のダウンロード") | | --- | --- | --- | --- | | - IIS 構築の近道 | - [PHP 環境の設定](https://technet.microsoft.com/iis/ee794964.aspx#lerning "PHP 環境の設定") - [セミナー資料](https://technet.microsoft.com/iis/ee794964.aspx#doc "PHP セミナー資料") | - [バーチャル ラボ](https://technet.microsoft.com/iis/dd936209.aspx#touch "バーチャル ラボ") - [Web キャスト (デモ)](https://technet.microsoft.com/iis/dd936209.aspx#watch "Web キャスト") | - 拡張機能の日本語解説 - ダウンロード | diff --git a/iis/get-started/whats-new-in-iis-10/introducing-iis-on-nano-server.md b/iis/get-started/whats-new-in-iis-10/introducing-iis-on-nano-server.md index b728a9eff..f44ae55cb 100644 --- a/iis/get-started/whats-new-in-iis-10/introducing-iis-on-nano-server.md +++ b/iis/get-started/whats-new-in-iis-10/introducing-iis-on-nano-server.md @@ -98,15 +98,10 @@ Java applications can be hosted on IIS via [HttpPlatformHandler](https://www.iis My co-worker Jeong Hwan has a blog post here on [how to get Java working with IIS on Nano](https://blogs.iis.net/jeonghwan/running-tomcat-with-iis-on-nano-server) -#### PHP - -PHP on IIS runs the same on Nano the same as on regular server (e.g. through FastCgi). - -Here's a blog post from Jeong Hwan on [how to get a PHP (WordPress) application running on Nano with WinCache and IIS](https://blogs.iis.net/jeonghwan/running-wordpress-with-iis-and-wincache-on-nano-server). #### Others -Supporting Asp.Net Core, Java and PHP on IIS Nano is a great start though we do have plans to get additional platforms supported. The [HttpPlatformHandler](https://www.iis.net/downloads/microsoft/httpplatformhandler) is a general purpose module for managing and sending requests to http listeners, so there could well be more platforms that can run well on Nano that we haven't tested and so haven't listed. +Supporting ASP.NET Core and Java on IIS Nano is a great start though we do have plans to get additional platforms supported. The [HttpPlatformHandler](https://www.iis.net/downloads/microsoft/httpplatformhandler) is a general purpose module for managing and sending requests to http listeners, so there could well be more platforms that can run well on Nano that we haven't tested and so haven't listed. If you do try this (e.g. with Ruby or Node) and get it working let us know! diff --git a/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10.md b/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10.md index ea5e5f3ec..177c9e71c 100644 --- a/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10.md +++ b/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10.md @@ -20,7 +20,7 @@ Learn more: [HTTP/2 on IIS](http2-on-iis.md) ## IIS on Nano Server -Nano Server is a new headless, 64-bit-only installation option for Windows 10 and Windows Server 2016 which installs "just enough OS" thereby resulting in a smaller footprint. Nano Server provides higher density, increased uptime, and a smaller attack surface making it suitable for running web workloads. You can currently run [ASP.NET Core](/iis/get-started/whats-new-in-iis-10/running-aspnet-core-with-iis-on-nano-server), [Apache Tomcat](https://blogs.iis.net/jeonghwan/running-tomcat-with-iis-on-nano-server), and [PHP](https://blogs.iis.net/jeonghwan/running-wordpress-with-iis-and-wincache-on-nano-server) workloads on IIS on Nano Server, in addition to using it as an reverse proxy to any HTTP listener via the [HttpPlatformHandler module](https://www.iis.net/downloads/microsoft/httpplatformhandler). +Nano Server is a new headless, 64-bit-only installation option for Windows 10 and Windows Server 2016 which installs "just enough OS" thereby resulting in a smaller footprint. Nano Server provides higher density, increased uptime, and a smaller attack surface making it suitable for running web workloads. You can currently run [ASP.NET Core](/iis/get-started/whats-new-in-iis-10/running-aspnet-core-with-iis-on-nano-server) and [Apache Tomcat](https://blogs.iis.net/jeonghwan/running-tomcat-with-iis-on-nano-server) workloads on IIS on Nano Server, in addition to using it as an reverse proxy to any HTTP listener via the [HttpPlatformHandler module](https://www.iis.net/downloads/microsoft/httpplatformhandler). Learn more: [Introducing IIS on Nano Server](introducing-iis-on-nano-server.md) diff --git a/iis/index.yml b/iis/index.yml index 24f5d33e4..e685aac74 100644 --- a/iis/index.yml +++ b/iis/index.yml @@ -204,27 +204,3 @@ landingContent: url: /iis/publish/using-the-ftp-service/configuring-ftp-user-isolation-in-iis-7 - text: IIS FTP Logon Attempt Restrictions url: /iis/get-started/whats-new-in-iis-8/iis-80-ftp-logon-attempt-restrictions - - # Card - - title: PHP & IIS - linkLists: - - linkListType: concept - links: - - text: Migrate to a Windows-Based Platform - url: /iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-to-a-windows-based-platform - - text: Planning Step 2 - Plan PHP Settings - url: /iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-2-plan-php-settings - - text: Planning Step 3 - Plan PHP Application Security - url: /iis/application-frameworks/scenario-build-a-php-website-on-iis/planning-step-3-plan-php-application-security - - linkListType: how-to-guide - links: - - text: Install and Configure PHP - url: /iis/application-frameworks/install-and-configure-php-on-iis/install-and-configure-php - - text: Enable Per-Site PHP Configuration on IIS - url: /iis/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above - - text: Setting Up a Database for a PHP Application on IIS - url: /iis/application-frameworks/install-and-configure-php-on-iis/setting-up-a-database-for-a-php-application-on-iis - - linkListType: reference - links: - - text: Best Practices for PHP on the Microsoft Web Platform - url: /iis/application-frameworks/running-php-applications-on-iis/best-practices-for-php-on-the-microsoft-web-platform diff --git a/iis/install/installing-iis-7/install-typical-iis-workloads.md b/iis/install/installing-iis-7/install-typical-iis-workloads.md index 47f29963f..fc2ed3a98 100644 --- a/iis/install/installing-iis-7/install-typical-iis-workloads.md +++ b/iis/install/installing-iis-7/install-typical-iis-workloads.md @@ -39,7 +39,6 @@ The common IIS workloads we will consider are: - Default Install - Static Content web Server - ASP.NET - Classic ASP -- Fast CGI for PHP - IIS Full Install ### Combining and Modifying Workloads @@ -141,30 +140,6 @@ To install IIS features for Classic ASP via ServerManagerCmd.exe, use the follow [!code-powershell[Main](install-typical-iis-workloads/samples/sample8.ps1)] - - -## Install FastCGI for PHP - -FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release. - -FastCGI overcomes the performance penalty of traditional CGI by re-using CGI processes to service subsequent requests, while continuing to ensure single request concurrency. For more information on how FastCGI works, see article [Using FastCGI to Host PHP Applications on IIS 7.0 and Above.](../../application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md) - -To install IIS features for CGI and Fast CGI from the Vista/Windows Server 2008 setup user interface, select the following IIS features by UI name (in addition to features for static content): - -| UI Name | Update Name | -| --- | --- | -| CGI | IIS-CGI | - -To install IIS features for CGI and FastCGI along with features for Static Content Web Server via pkgmgr.exe, use the following command line: - -[!code-console[Main](install-typical-iis-workloads/samples/sample9.cmd)] - -To install IIS features for CGI and FastCGI via ServerManagerCmd.exe, use the following command line: - -[!code-powershell[Main](install-typical-iis-workloads/samples/sample10.ps1)] - - - ## IIS 7.0 and Above Full Install As a developer or one who is just evaluating IIS you may simply just want to install all 40 of the IIS features: This will certainly assure that you're not missing anything; but realistically, even in a development environment there are advantages to limiting your install to just the features needed for your intended application. Doing your development on a partial install of IIS will assure that you have an understanding of your application's IIS module dependencies. It may also be true that the target servers that your IIS applications will be deployed on will not be configured with a full install. Matching the IIS install on your development machine to that of your target hosting machine will assure your application can run as expected when deployed. diff --git a/iis/manage/configuring-security/configure-request-filtering-in-iis.md b/iis/manage/configuring-security/configure-request-filtering-in-iis.md index 9e5264e20..7dd89757d 100644 --- a/iis/manage/configuring-security/configure-request-filtering-in-iis.md +++ b/iis/manage/configuring-security/configure-request-filtering-in-iis.md @@ -354,7 +354,6 @@ The following table shows the request filter error codes that you see in the log - [Build an ASP.NET Website on IIS](../../application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) - [Build a Classic ASP Website on IIS](../../application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md) - [Build a Static Website on IIS](../creating-websites/scenario-build-a-static-website-on-iis.md) -- [Build a PHP Website on IIS](../../application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) - [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) - [Build a Web Farm with IIS Servers](../../web-hosting/scenario-build-a-web-farm-with-iis-servers/overview-build-a-web-farm-with-iis-servers.md) - [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/manage/creating-websites/scenario-build-a-static-website-on-iis.md b/iis/manage/creating-websites/scenario-build-a-static-website-on-iis.md index 18c710f24..7b0cf37f6 100644 --- a/iis/manage/creating-websites/scenario-build-a-static-website-on-iis.md +++ b/iis/manage/creating-websites/scenario-build-a-static-website-on-iis.md @@ -221,6 +221,5 @@ Test your website thoroughly to ensure that it functions as expected. Then consi - [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) - [Build an ASP.NET Website on IIS](../../application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) - [Build a Classic ASP Website on IIS](../../application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md) -- [Build a PHP Website on IIS](../../application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) - [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) - [Build a Web Farm with IIS Servers](../../web-hosting/scenario-build-a-web-farm-with-iis-servers/overview-build-a-web-farm-with-iis-servers.md) diff --git a/iis/manage/managing-performance-settings/configure-iis-7-output-caching.md b/iis/manage/managing-performance-settings/configure-iis-7-output-caching.md index 4a8c0a9a9..100c527ed 100644 --- a/iis/manage/managing-performance-settings/configure-iis-7-output-caching.md +++ b/iis/manage/managing-performance-settings/configure-iis-7-output-caching.md @@ -141,4 +141,3 @@ You can set the output cache to cache only your default page (the most frequentl ## See also - [IIS Output Caching](walkthrough-iis-output-caching.md) -- [PHP on IIS7 w/FastCGI](https://blogs.iis.net/bills/archive/2006/10/31/PHP-on-IIS.aspx) diff --git a/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis.md b/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis.md index 339cbf5fa..47989065f 100644 --- a/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis.md +++ b/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis.md @@ -212,7 +212,6 @@ You can perform this procedure by using the user interface (UI), or by editing c - [Build an ASP.NET Website on IIS](../../application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) - [Build a Classic ASP Website on IIS](../../application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md) - [Build a Static Website on IIS](../creating-websites/scenario-build-a-static-website-on-iis.md) -- [Build a PHP Website on IIS](../../application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) - [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) - [Build a Web Farm with IIS Servers](../../web-hosting/scenario-build-a-web-farm-with-iis-servers/overview-build-a-web-farm-with-iis-servers.md) - [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) diff --git a/iis/manage/working-with-server-core/iis-70-on-server-core.md b/iis/manage/working-with-server-core/iis-70-on-server-core.md index c8fdf7dcc..710c1f6ba 100644 --- a/iis/manage/working-with-server-core/iis-70-on-server-core.md +++ b/iis/manage/working-with-server-core/iis-70-on-server-core.md @@ -13,7 +13,7 @@ by [Tobin Titus](https://github.com/tobint) As you may know from TechEd 2007 announcements and [a Bill Staples' blog post](https://blogs.iis.net/bills/archive/2007/06/04/iis7-on-server-core.aspx), IIS 7.0 is supported on the Server Core installation option of Windows Server® 2008. IIS 7.0 on Server Core combines a powerful new Web server with a minimal footprint server operating system, which has a smaller disk space requirement, lower memory utilization, a reduced attack surface, and lower servicing needs. -This article provides basic instructions for getting started with IIS 7.0 on Server Core, including installation instructions for running Classic ASP and PHP applications. +This article provides basic instructions for getting started with IIS 7.0 on Server Core, including installation instructions for running Classic ASP applications. ## IIS Deployment and Configuration Tips @@ -53,41 +53,6 @@ A. Type following pkgmgr.exe command to install Classic ASP along with features [!code-console[Main](iis-70-on-server-core/samples/sample3.cmd)] -**Q4. How do you install PHP on Server Core?** - -A. Steps to install and configure PHP on Server Core are as follows: - -1. Unzip the content of PHP download from to a file share. - - > [!NOTE] - > Since Server Core does not have browser support, it is recommended to download the PHP content on a file share where browser access is available. - -2. Create a `%SystemDrive%\PHP` directory on Server Core machine and xcopy the content of the folder from the file share above onto `%SystemDrive%\PHP` folder on local machine. - -3. Copy the `%SystemDrive%\PHP\PHP.INI-Recommended` file as `%SystemDrive%\PHP\PHP.INI`. - -**Q5. How do you install and configure Fast-CGI support on the IIS Server?** - -A. After completing the steps on installing PHP in Q4, please follow the steps below to install Fast-CGI and configure it. - -Step 1. Please use following command-line to install IIS features for FastCGI along with features for Static Content Web Server: - -[!code-console[Main](iis-70-on-server-core/samples/sample4.cmd)] - -> [!NOTE] -> Alternatively, you can choose to install Full IIS option indicated in Q1. Default IIS install option does not contain FastCGI installation. - -Step 2. Create the PHP/FastCGI handler mapping from command line by typing following two appcmd.exe commands: - -> AppCmd set config /section:system.webServer/fastCGI /+[fullPath='d:\php\php-cgi.exe'] - -> AppCmd set config /section:system.webServer/handlers /+[name='PHP-FastCGI',path='\*.php',verb='\*',modules='FastCgiModule',scriptProcessor='d:\php\php-cgi.exe',resourceType='Either'] - -> [!NOTE] -> -> 1. AppCmd.exe is a new command-line tool that ships with IIS 7.0. AppCmd.exe can be found at `%WinDir%\System32\InetSrv` directory. For more information on AppCmd command-line tool, see the [Getting Started with AppCmd.exe](../../get-started/getting-started-with-iis/getting-started-with-appcmdexe.md) article. -> 2. Depending on PHP installation location described in Q4, paths to executables on the hard disk may require updates. All appcmd example commands above assume that PHP installation is in D:\PHP folder. - ## Server Core Administration Tips This section includes a few command line utilities and commands to perform common tasks/actions on command-line. diff --git a/iis/publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md b/iis/publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md index e03daa164..b82e168ad 100644 --- a/iis/publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md +++ b/iis/publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md @@ -294,5 +294,4 @@ Use the **FTP Messages** feature to modify the settings for messages sent when a - [Hosting-Friendly Web Server Platform (IIS): Scenario Overview](../../get-started/introduction-to-iis/hosting-friendly-web-server-platform-iis-scenario-overview.md) - [Build a Static Website on IIS](../../manage/creating-websites/scenario-build-a-static-website-on-iis.md) - [Build an ASP.NET Website on IIS](../../application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) -- [Build a PHP Website on IIS](../../application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) - [Build a Web Farm with IIS Servers](../../web-hosting/scenario-build-a-web-farm-with-iis-servers/overview-build-a-web-farm-with-iis-servers.md) diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php.md b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php.md deleted file mode 100644 index ae08ea620..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: "Synchronizing Two IIS Servers with PHP" -author: rick-anderson -description: "This article will guide you through the process of using Web Deploy to synchronize an entire IIS 7 or above Web server that has PHP installed to another IIS..." -ms.date: 03/26/2010 -ms.assetid: d8ca581b-fa82-4fca-824f-3456f71799b7 -msc.legacyurl: /learn/publish/using-web-deploy/synchronizing-two-iis-servers-with-php -msc.type: authoredcontent ---- -# Synchronizing Two IIS Servers with PHP - -by Tim Ammann - -This article will guide you through the process of using Web Deploy to synchronize an entire IIS 7 or above Web server that has PHP installed to another IIS 7 or above server. Article Goal: To synchronize a Web server from IIS that has PHP installed to another IIS server. - -### Part 1 - View dependencies of the source - -1. Get the dependencies of the Web site by running the following command: - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample1.cmd)] -2. Review the output of the dependencies and look for any script maps or installed components that are in use by the site. - - > [!NOTE] - > In most cases on Windows Server 2008, PHP is installed by using the built-in FastCGI module, so the dependency check will show CGI as a dependency, not PHP. -3. Compile a list of the components needed on the destination. - -For detailed steps on analyzing the output of getDependencies, see [Viewing Dependencies](https://technet.microsoft.com/library/dd569091(WS.10).aspx "Viewing Dependencies"). - -### Part 2 - Configure the target or destination computer - -1. Review the list of dependencies and install them on the destination server. For example, let's assume you had the following in use for your Web site: - - - CGI (FastCGI with PHP). - -Based this analysis of your dependencies, you would install those components on the destination server. Because PHP can be installed by simply copying the files, we will add a custom manifest that also copies the PHP folder. - -### Part 3 – Create a custom manifest - -Create the following manifest, assuming that your PHP install location is `c:\php` (replace with your actual install directory): - -[!code-xml[Main](synchronizing-two-iis-servers-with-php/samples/sample2.xml)] - -Save this as **ServerManifest.xml**. For convenience, you can save it into the `%systemdrive%\program files\microsoft web deploy` directory, or to a directory of your choice. You should save it to both the source and destination computers. - -### Part 4 – Synchronize the source server to the destination server - -#### Synchronize by using a package file: - -1. Always make a backup of the destination server. Even if you are just testing, it allows you to easily restore the state of your server. Run the following command to backup an IIS server: - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample3.cmd)] -2. Run the following command on the source server to create a package (compressed file) of the server: - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample4.cmd)] -3. Run the following command on the destination server to validate what would happen if a synchronization were run: - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample5.cmd)] -4. After verifying the output, run the same command again without the -whatif flag: - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample6.cmd)] - -#### Synchronize by using the remote service: - -If you don't want to synchronize from a package, you can synchronize by using the Web Deployment Agent Service (MsDepSvc, also called the "remote service"). - -1. Make sure that the service is started on the destination computer by running the command: - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample7.cmd)] -2. Run the following command on the source server. Use the **computerName** argument to specify the name of a remote server (for example, DestServer1). If the source is a remote server, you would change the source argument to source:manifest=servermanifest.xml,**computerName=Server1**. - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample8.cmd)] -3. After verifying the output, run the same command again without the whatif flag: - - [!code-console[Main](synchronizing-two-iis-servers-with-php/samples/sample9.cmd)] - -### Summary - -You are now done synchronizing your site. To verify, test browsing to the Web site on the destination server. For troubleshooting help, see [Troubleshooting Web Deploy](../troubleshooting-web-deploy/troubleshooting-web-deploy.md "Troubleshooting MS Deploy"). You synchronized a Web site from a source IIS server to a destination IIS server by viewing the dependencies, configuring the destination IIS server, and by using a package file or the Web Deployment Agent Service. diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample1.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample1.cmd deleted file mode 100644 index 9f893144d..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -msdeploy -verb:getDependencies -source:webServer \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample2.xml b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample2.xml deleted file mode 100644 index e67286ddf..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample2.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample3.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample3.cmd deleted file mode 100644 index eda84b73e..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -%windir%\system32\inetsrv\appcmd add backup "PreMsDeploy" \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample4.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample4.cmd deleted file mode 100644 index af7e8fe9f..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -msdeploy -verb:sync -source:manifest=servermanifest.xml -dest:package=c:\WebServer.zip \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample5.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample5.cmd deleted file mode 100644 index e547c9c8d..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -msdeploy -verb:sync -source:package=c:\WebServer.zip -dest:manifest=servermanifest.xml -whatif > msdeploysync.log \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample6.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample6.cmd deleted file mode 100644 index 4811fa28e..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample6.cmd +++ /dev/null @@ -1 +0,0 @@ -msdeploy -verb:sync -source:package=c:\WebServer.zip -dest:manifest=servermanifest.xml > msdeploysync.log \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample7.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample7.cmd deleted file mode 100644 index 6221e0c70..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample7.cmd +++ /dev/null @@ -1 +0,0 @@ -net start msdepsvc \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample8.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample8.cmd deleted file mode 100644 index e923cc0a3..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample8.cmd +++ /dev/null @@ -1 +0,0 @@ -msdeploy -verb:sync -source:manifest=servermanifest.xml -dest:manifest=servermanifest.xml,computerName=DestServer1 –whatif > msdeploysync.log \ No newline at end of file diff --git a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample9.cmd b/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample9.cmd deleted file mode 100644 index b7384582f..000000000 --- a/iis/publish/using-web-deploy/synchronizing-two-iis-servers-with-php/samples/sample9.cmd +++ /dev/null @@ -1 +0,0 @@ -msdeploy -verb:sync -source:manifest=servermanifest.xml -dest:manifest=servermanifest.xml,computerName=DestServer1 >msdeploysync.log \ No newline at end of file diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform.md b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform.md deleted file mode 100644 index d29233d26..000000000 --- a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: "Configure your Servers for the Windows Web Hosting Platform" -author: rmcmurray -description: "The Microsoft Web Platform gives you the framework, web server, database and tools your customers need to build and run Web sites and applications on Windows..." -ms.date: 08/24/2012 -ms.assetid: 1b984754-3cc1-4352-8d2f-7de6df40b10b -msc.legacyurl: /learn/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform -msc.type: authoredcontent ---- -# Configure your Servers for the Windows Web Hosting Platform - -by [Robert McMurray](https://github.com/rmcmurray) - -## Introduction to the Windows Web Platform - -The Microsoft Web Platform gives you the framework, web server, database and tools your customers need to build and run Web sites and applications on Windows. It provides a complete ecosystem of products, technologies, partners, and customers. You will be able to easily setup your servers with <link:WebPI>, test your environment using the same experience your users will have with <link:WebMatrix>, promote your offerings through the <link: Hosting Gallery>, and have quick access to the latest platform updates. The following sections will guide you through the process of configuring your servers using all the elements of the platform. - -| **Tools** | **Customer** | **Web Hosting Provider** | -| --- | --- | --- | -| **Web Platform Installer (Web PI)** | Installs Web Platform Tools and Apps | Installs Web Plat Tools and Apps | -| **WebMatrix** | Installs/Develops Applications, Customizes, and Publishes to Hosting Provider | Supports customers publishing through WebMatrix by configuring <link:Web Deploy> | -| **Web Hosting Gallery** | Browse/Search for hosting | Publishes offerings | -| **Web Application Gallery** | Browse/Search for Web Applications to customize and publish to a hosting provider | Supports these popular applications | -| **WebsitePanel** | Uses it to manage their Hosting Account and resources | Uses it to manage their plans, customers, resource allocation, and provisioning | - -![Diagram of the Microsoft Web Platform Ecosystem.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image1.png) - -Image 4: The Microsoft Web Platform Ecosystem - -## Configure your Hyper-v Host for Shared Web Hosting - -As we discussed earlier, you can setup a shared hosting environment with a basic configuration consisting of a single server. The following steps will guide you through the setup of a single server running as a Hyper-v host. This server will host the three VM Servers as described above. - -To get started, setup the hyper-v host server with Windows Server 2008 R2 Enterprise. This version of Windows includes four guest licenses (Windows Server Standard or Enterprise); it allows you to setup the host with four guests and pay monthly only for the host server after you have customer websites in any of the guest servers. - -a. Click the "Server Manager" button in the task bar; or click "Start" menu, type "Server Manager" and press Enter. This will bring up the Server Manager application. - - ![Screenshot of the task bar. The Server Manager button is highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image3.png) - -b. On the left panel of Server Manager click on "Roles" - - ![Screenshot of the Server Manager dialog box. In the left panel Roles is highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image5.png) - -c. Under "Roles Summary" click on "Add Roles". Follow the Add Roles Wizard to Add the Hyper-v role. The wizard will ask you to reboot the computer; when you log back in, the wizard will complete the Hyper-v configuration. - - ![Screenshot of the Server Manager dialog box. Add Roles is highlighted under Roles Summary.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image7.png) - - ![Screenshot of the Select Server Roles Wizard. The Hyper dash v role is selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image9.png) - -## Create your Web Server VM - -This section will guide you through the creation of a guest VM to be the Web Server using Windows Server 2008 R2 SP1 Standard. - -a. On the host machine, click the "Start" menu, type "Hyper-v Manager" and press Enter. This will bring up the Hyper-v Manager application. - - ![Screenshot of the Hyper dash v Manager application.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image11.png) - -b. On the "Actions" bar (right side) click "New" and select "Virtual Machine". The New virtual Machine Wizard will come up. - - ![Screenshot of the Actions bar. Virtual Machine is selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image13.png) - -c. Enter the name of the virtual machine, I usually use a descriptive name that refers to the OS version used, for example "WS2K8R2Std". - -d. On the same screen, select the location of where in disk the virtual machine will be stored. Do so by checking the check box and selecting the location you will use for the Web Server VM. - - ![Screenshot of the New Virtual Machine Wizard. In the Name box the text New Virtual Machine is written and highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image15.png) - -e. If you already have a prepared virtual hard disk available, this is the moment to specify to use it for your VM; otherwise you could create one from scratch or attach one later. - - ![Screenshot of the Connect Virtual Hard Disk page of the New Virtual Machine Wizard. Create a virtual hard disk is selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image17.png) - -f. The next step is to install the OS, you have several options, for some of them you need to have the OS media ready. If you have not visited the SPLA site to download Windows Server 2008 R2 SP1 Standard, now is the time. You can use the downloaded OS in this step or do it later from a DVD, network drive, or network-based installation server. - - ![Screenshot of the Installation page. Install an operating system later is selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image19.png) - -From this point on your VM will be ready for you to start and connect to, use the Hyper-v Manager and double click on the machine listed under "Virtual Machines" in the center panel. - -## Configure the Web Server Components to support WebMatrix - -This article will walk you through installing the required server components to be **WebMatrix compatible** and fulfill the **Spotlight requirements** for the Web Hosting Gallery. - -To simplify the installation of the **web server** components, we highly recommend installing Web Platform Installer, also known as WebPI, on both machines. WebPI is a tool that automates the installation of a vast majority of server components and other products for Microsoft's Web Platform. - - - -If you prefer to not use WebPI, all of the required components can also be installed by hand or via your own provisioning scripts. - -### Option 1: Via Web Platform Installer 3.0 (recommended) - -If you have WebPI 3.0 installed, the following link will automatically launch it with all of the basic web server components you'll need ready to install: - -1. Login in the VM created in the previous section, use your administration account. Notice that these instructions will work regardless of whether you are using a VM or an actual machine. -2. [Install Spotlight Components using Web PI](https://www.microsoft.com/web/gallery/install.aspx?appid=WHP_Recommended). This link will install WebPI (if you have not done so already) and will let you review the list of products and dependencies before you start the process of installing the components. Notice that this list of components completely fulfills the Spotlight requirements from the Web Hosting Gallery. - - ![Screenshot of the Install Now button. This is powered by the Microsoft Web Platform Installer.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image21.png) - -3. Once the Web PI window is displayed, click the "Items to be installed" link to review the list of products and dependencies. - - ![Screenshot of the Web Platform Installer 3 dot 0. The I I S Recommended Configuration is shown. The Items to be installed link is highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image25.png) - -4. Scroll down to see the rest of the items in the list: - - ![Screenshot of a list of items ready to be installed.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image27.png) - - Here is the list of Products to install: - - 1. IIS 7 or above Web Server including the following modules: Web Deploy 2.0, FTP, IIS Remote Management Services, CGI, URL Rewrite 2.0, SQL Server 2008 Management Objects (SMO), Windows Cache 1.1 for PHP, MySQL Connector, Microsoft SQL Server Driver for PHP 2.0 - 2. Frameworks: .NET 3.5 SP1, .NET 4.0, ASP.NET, ASP.NET MVC, and PHP 5.2.14 or higher - -5. Review the license page and accept the terms to continue with the install: - - ![Screenshot of the license page. The I Accept button is highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image29.png) - - ![Screenshot of the Web Platform Installation Wizard. The Installation progress bar is shown.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image33.png) - -6. If you are not using Windows Server 2008 R2 **SP1**, install the following Web Server Patch: [Extensionless URL Hotfix](https://support.microsoft.com/kb/980368). This hotfix is required for ASP.NET Web Pages to function correctly. -7. (Optional) [Install Spotlight Components plus PHP/MySQL related components using Web PI](https://www.microsoft.com/web/gallery/install.aspx?appid=IIS7;Tracing;NETFramework35;NETFramework4;ASPNET;MVC;WDeploy;FTPServer;ManagementService;CGI;URLRewrite2;SMO;PHP52;WinCache52;MySQLConnector;SQLDriverPHP52IIS). Many of the web applications that can be published by WebMatrix have PHP/MySQL components as requirements. To ensure you are able to support those applications, you can use this link to install everything above plus PHP/MySQL related components - -### Option 2: Manually install Web Server components - -Here is the full list of which components are installed by those links, so you can confirm against the list of products listed in WebPI. Note that many of them bring in dependencies – that is expected behavior – but the total download should not exceed 50 MB or so. - -Server: - -- [Required] [IIS 7 Web Server](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=IIS7;Tracing) basic components. Required for basic web server functionality. - -Frameworks: - -- [Required] [.NET Framework 3.5 SP1](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework35). [Some applications](https://www.microsoft.com/web/gallery/) depend on this framework -- [Required] [.NET Framework 4.0](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=NETFramework40). [Some applications](https://www.microsoft.com/web/gallery/) depend on this framework -- [Optional] PHP (5.2.14 or higher). This is not required for Spotlight, but many applications that can be published by WebMatrix depend on this framework - -ASP.NET: - -- [Required] [ASP.NET](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=ASPNET). This framework is the backend of many of the most popular web applications -- [Required] [ASP.NET MVC 1.0](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=MVC). A handful of applications in the App Gallery depend on this installed centrally -- [Optional] You can also optionally install [ASP.NET MVC3](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=MVC3) and [ASP.NET Web Pages](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=Plan9), which gives you the ability to host applications written in the new "Razor" syntax of ASP.NET. However, note that the binaries required for these kinds of applications are automatically published by WebMatrix. That is, each end user who publishes applications of this type will automatically end up with the required binaries in a /bin/ folder within their site root directory, so it is not really necessary to install them centrally. - -IIS Modules: - -- [Required] [Microsoft Web Deploy](https://www.iis.net/downloads/microsoft/web-deploy). Web Deploy is a client-server tool that simplifies the deployment of sites and applications to IIS servers. While WebMatrix supports web application publishing using both FTP and Web Deploy protocols, the latter providers a faster, more secure, and richer experience. It also lets the user deploy whole apps, including databases, ensuring they work both locally and remotely. It is the highlight of the WebMatrix publishing story. -- [Required] [FTP Publishing Service](https://www.iis.net/downloads/microsoft/ftp). To ensure the option of FTP exists for maximum compatibility -- [Required] [IIS Remote Management Service](https://www.iis.net/downloads/microsoft/iis-manager). To allow your users to manage aspects of their accounts using the IIS console. Also a dependency for Web Deploy to function properly -- [Required] [FastCGI for IIS](https://www.iis.net/downloads/microsoft/fastcgi-for-iis). Provides a much faster CGI implementation than the default -- [Required] [URL Rewrite](https://www.iis.net/downloads/microsoft/url-rewrite). A dependency for many applications to function correctly -- [Required] SQL Server 2008 Management Objects. A dependency for many applications to function correctly, and for WebDeploy to manage SQL Server db's. -- [Optional] [Windows Cache Extension 1.1 for PHP](https://www.iis.net/downloads/microsoft/wincache-extension). Highly recommended when running PHP on Windows. -- [Optional] [MySQL Connector/Net](http://dev.mysql.com/downloads/connector/net/) 6.2.3 or higher. Necessary for .NET applications using MySQL databases -- [Optional] [Microsoft Drivers for PHP for SQL Server](https://www.microsoft.com/downloads/en/details.aspx?FamilyID=80e44913-24b4-4113-8807-caae6cf2ca05) in IIS. Necessary for PHP applications using SQL Server -- [Extensionless URL Hotfix](https://support.microsoft.com/topic/a-update-is-available-that-enables-certain-iis-7-0-or-iis-7-5-handlers-to-handle-requests-whose-urls-do-not-end-with-a-period-525f06bd-125b-9fb7-0564-327172f1912f). Needed only if you are not using Windows 2008 R2 **SP1**. Required for ASP.NET Web Pages to function correctly. It is discussed further in this blog post. - -Database Server Components (see next section): - -- [Optional] [PHP Driver for SQL Server](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=SQLDriverPHP). We highly recommended installing this component on your database server if you are supporting PHP. - -Next Steps: - -• Proceed to configure the database server machine. - -• Ensure that the Web Deploy 2.0 (or higher) component is configured to allow delegated deployments. This is critical, as it is the primary method that allows your customers to publish to your servers with WebMatrix. - - - -**Create & Configure your SQL Server VM** - -Create a second guest as the Database Server Virtual Machine - -1. Follow the same steps outlined in "Create your Web Server VM" to create the Database Server VM. -2. Add Database Server Components to the Database VM - - 1. Download the SQL Server 2008 R2 Web media from the SPLA site, find the link in the email you received confirming your SPLA agreement. - 2. [Required] Install SQL Server 2008 R2 Web on the Database VM. Follow the installation wizard instructions. WebPI supports installing [Microsoft SQL Server 2008 Express edition](https://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=SqlExpress), but we do not recommend this product in shared hosting environments, you should use the full version instead on a separate server. - 3. Install MySQL. - -## Configure your Content Server VM - -Create a third guest as the Content Server Virtual Machine - -1. Download the Windows Server 2008 R2 Enterprise media from the SPLA site, find the link in the email you received confirming your SPLA agreement. -2. Follow the same steps outlined in 2.a to create the VM Server. -3. Install the Windows Server Backup features in the content server: - - 1. Click the "Server Manager" button in the task bar; or click "Start" menu, type "Server Manager" and press Enter. This will run the Server Manager application. - - ![SCreenshot of the task bar. The Server Manager button is highlighted. This will run the Server Manager application.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image35.png) - - 2. On the left panel of Server Manager click on "Features" - - ![Screenshot of the Server Manager page. In the left panel of the Server Manager, Features is highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image37.png) - - 3. Under "Features Summary" click on "Add Features". Follow the Add Features Wizard to Add the Backup service. - - ![Screenshot of the Server Manager page. Add Features is highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image39.png) - - ![Screenshot of the Add Features Wizard. Windows Server Backup Features is highlighted and selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image41.png) - -1. Install the File Services role in the content server. - - 1. Click the "Server Manager" button in the task bar; or click the "Start" menu, type "Server Manager" and press Enter. This will run the Server Manager application. - - ![Screenshot of the Server Manager application. Under Server Manager, Roles is highlighted and selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image45.png) - - 2. On the left panel of Server Manager click on "Roles" - - ![Screenshot of the Server Manager application. Under Server Manager WALTER O H P W S, Roles is highlighted and selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image45.png) - - 3. Under "Roles Summary" click on "Add Roles". Follow the Add Roles Wizard to Add the "File Services" role. - - ![Screenshot of the Server Manager page. In the right pane, Roles is highlighted. In the Roles Summary category, Add Roles is highlighted.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image47.png) - - ![Screenshot of the Select Server Roles page. File Services is highlighted and selected.](configure-your-servers-for-the-windows-web-hosting-platform/_static/image49.png) - -## Configure your Control Panel Server VM - -Create a second Web Server VM, configure follow the same steps that you did for the first Web Server. This server will act as the Control Panel server; it will host WebsitePanel (we will install it in a subsequent section). It could also help you troubleshoot websites issues. This final VM will complete the four guests allowed by your Windows Server Enterprise 2008 R2 license. **If you are planning on a larger deployment, you may want to use the Windows Server 2008 R2 Datacenter edition which has no license limits on guests.** diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image1.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image1.png deleted file mode 100644 index 8ddf42fa1..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image1.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image11.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image11.png deleted file mode 100644 index 100b067cd..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image11.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image13.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image13.png deleted file mode 100644 index 1e54a4766..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image13.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image15.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image15.png deleted file mode 100644 index 34564fe90..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image15.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image17.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image17.png deleted file mode 100644 index e761651a5..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image17.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image19.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image19.png deleted file mode 100644 index 933803784..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image19.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image21.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image21.png deleted file mode 100644 index b75aa7ba6..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image21.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image25.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image25.png deleted file mode 100644 index bc6140e7b..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image25.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image27.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image27.png deleted file mode 100644 index 417ddaf72..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image27.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image29.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image29.png deleted file mode 100644 index a853cf6f9..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image29.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image3.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image3.png deleted file mode 100644 index 9c8b232a0..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image3.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image33.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image33.png deleted file mode 100644 index e395dfdee..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image33.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image35.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image35.png deleted file mode 100644 index 9c8b232a0..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image35.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image37.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image37.png deleted file mode 100644 index 0f7da57af..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image37.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image39.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image39.png deleted file mode 100644 index 36c95b928..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image39.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image41.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image41.png deleted file mode 100644 index b6fc58afb..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image41.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image43.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image43.png deleted file mode 100644 index 9c8b232a0..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image43.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image45.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image45.png deleted file mode 100644 index 656a3c831..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image45.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image47.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image47.png deleted file mode 100644 index 64cd51278..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image47.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image49.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image49.png deleted file mode 100644 index 4ecec8e8f..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image49.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image5.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image5.png deleted file mode 100644 index 5280ed45d..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image5.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image7.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image7.png deleted file mode 100644 index e1156b122..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image7.png and /dev/null differ diff --git a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image9.png b/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image9.png deleted file mode 100644 index 7365105c4..000000000 Binary files a/iis/web-hosting/configuring-servers-in-the-windows-web-platform/configure-your-servers-for-the-windows-web-hosting-platform/_static/image9.png and /dev/null differ diff --git a/iis/web-hosting/frequently-asked-questions-faq/php-questions.md b/iis/web-hosting/frequently-asked-questions-faq/php-questions.md deleted file mode 100644 index 721444877..000000000 --- a/iis/web-hosting/frequently-asked-questions-faq/php-questions.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "PHP Questions" -author: walterov -description: "Microsoft does not support PHP. We started integration testing with 5.2.1. Most of the testing seen shows PHP working well, without specific integration issu..." -ms.date: 12/22/2007 -ms.assetid: 0539b3e4-7d7b-4e34-9406-28ed9965c500 -msc.legacyurl: /learn/web-hosting/frequently-asked-questions-faq/php-questions -msc.type: authoredcontent ---- -# PHP Questions - -by [Walter Oliver](https://github.com/walterov) - -#### What support is available for PHP running with FastCGI? - -Microsoft does not support PHP. We started integration testing with 5.2.1. Most of the testing seen shows PHP working well, without specific integration issues (other than bugs on our side which we are fixing, or bugs in PHP which are independent of the FastCGI). - -#### Can multiple versions of PHP run in the same Application Pool? - -Yes. Several web sites in the same app pool can use different PHP versions when using the FastCGI components that we are releasing for IIS 6.0 and IIS 7.0. Here's an example of an .ini file: - -[!code-console[Main](php-questions/samples/sample1.cmd)] - -The PHP:1 and PHP:2 means that the extension applies to Web Site #1 and #2 respectively. - -#### Is there a list of PHP applications that have been tested on Windows Server® 2008? - -These [applications](../../application-frameworks/install-and-configure-php-applications-on-iis/index.md "PHP Applications") have been used on Windows Server 2008 and have no known issues. diff --git a/iis/web-hosting/frequently-asked-questions-faq/php-questions/samples/sample1.cmd b/iis/web-hosting/frequently-asked-questions-faq/php-questions/samples/sample1.cmd deleted file mode 100644 index a516766f7..000000000 --- a/iis/web-hosting/frequently-asked-questions-faq/php-questions/samples/sample1.cmd +++ /dev/null @@ -1,7 +0,0 @@ -[Types] -PHP:1=PHPV4 -PHP:2=PHPV5 -[PHPV4] -ExePath=c:\PHP4\php-cgi.exe -[PHPV5] -ExePath=c:\PHP5\php-cgi.exe \ No newline at end of file diff --git a/iis/web-hosting/getting-started/quick-guides.md b/iis/web-hosting/getting-started/quick-guides.md index 25c95face..3f1e2de09 100644 --- a/iis/web-hosting/getting-started/quick-guides.md +++ b/iis/web-hosting/getting-started/quick-guides.md @@ -26,7 +26,6 @@ The following links provide valuable information on configuring and deploying.va - Guide for Installing [Active Directory DS Forest](../installing-infrastructure-components/active-directory-ds-forest.md). Contains guides for installing though the User Windows Interface, Command Line, and Answer File. - Preparation Activities for WDS](../installing-infrastructure-components/preparation-activities-for-wds.md). Contains a reference to [Windows Deployment Services Role Step-by-Step Guide. - [Quick Guide for Shared Hosting Deployment](../configuring-servers-in-the-windows-web-platform/quick-guide-for-shared-hosting-deployment.md). Includes the Web Server Role. -- [Install and Configure FastCGI](../web-server-for-shared-hosting/fastcgi-with-php.md) - [SQL Server 2005 Deployment Guidance for Web Hosting Environments](https://www.microsoft.com/technet/prodtechnol/sql/bestpractice/sql2005dgwhe.mspx "SQL 2005 Guide") ### Provisioning and Managing diff --git a/iis/web-hosting/getting-started/shared-hosting-content-map.md b/iis/web-hosting/getting-started/shared-hosting-content-map.md index d3765fff6..9d18b4819 100644 --- a/iis/web-hosting/getting-started/shared-hosting-content-map.md +++ b/iis/web-hosting/getting-started/shared-hosting-content-map.md @@ -61,7 +61,6 @@ You can find additional resources for understanding Windows Server 2008 R2 with - [URL Rewrite for Hosters](../web-server-for-shared-hosting/url-rewrite-for-hosting-providers.md) - [Database Manager for Hosters](../web-server-for-shared-hosting/database-manager-for-hosters.md) - [Administration Pack](../web-server-for-shared-hosting/administration-pack.md) - - [FastCGI with PHP](../web-server-for-shared-hosting/fastcgi-with-php.md) - [ASP](../web-server-for-shared-hosting/asp.md) - [SMB Commands Registry Keys](../web-server-for-shared-hosting/smb-commands-registry-keys_198.md) - [Backup](../web-server-for-shared-hosting/create-a-backup-with-appcmd.md) @@ -81,7 +80,6 @@ You can find additional resources for understanding Windows Server 2008 R2 with - [SQL 2008 for Hosters](../configuring-servers-in-the-windows-web-platform/sql-2008-for-hosters.md) - [SQL Server 2005](../configuring-servers-in-the-windows-web-platform/sql-server-2005.md) - - [MySQL Server](../../application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above.md) - [Guide to Deploy FTP and Publish with VWD](../configuring-servers-in-the-windows-web-platform/guide-to-deploy-ftp-and-publish-with-vwd.md) - [Publishing Components: FTP 7.5, WebDAV, and FPSE](../configuring-servers-in-the-windows-web-platform/publishing-components-ftp-70-webdav-and-fpse.md) @@ -91,7 +89,6 @@ You can find additional resources for understanding Windows Server 2008 R2 with - [Verifying Remote Administration](../verifying-the-deployment/verifying-remote-administration.md) - [Verifying the Developer Experience – ASP.NET](../verifying-the-deployment/verifying-the-developer-experience-aspnet.md) -- [Verifying the Developer Experience - PHP](../verifying-the-deployment/verifying-the-developer-experience-php.md) diff --git a/iis/web-hosting/migrate-to-the-microsoft-web-platform/how-to-migrate-to-the-microsoft-web-platform.md b/iis/web-hosting/migrate-to-the-microsoft-web-platform/how-to-migrate-to-the-microsoft-web-platform.md deleted file mode 100644 index b01ab4c83..000000000 --- a/iis/web-hosting/migrate-to-the-microsoft-web-platform/how-to-migrate-to-the-microsoft-web-platform.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "How to Migrate to the Microsoft Web Platform" -author: rick-anderson -description: "PHP is quite portable, and cross-platform development has been a major goal in its development. In most cases, PHP scripts are easily ported from Linux to th..." -ms.date: 11/15/2009 -ms.assetid: 7aa6674b-c24c-4c8e-b3eb-c8ac5bf5f3a2 -msc.legacyurl: /learn/web-hosting/migrate-to-the-microsoft-web-platform/how-to-migrate-to-the-microsoft-web-platform -msc.type: authoredcontent ---- -# How to Migrate to the Microsoft Web Platform - -by Tali Smith - -PHP is quite portable, and cross-platform development has been a major goal in its development. In most cases, PHP scripts are easily ported from Linux to the Windows® operating system with very few problems. Microsoft has also produced a rich set of PHP migration documentation and a toolkit to assist in basic PHP application deployment; these are located on the Internet Information Services (IIS) Web site ([https://www.iis.net/](https://www.iis.net/)). - -Many popular PHP applications that have been written on and currently run on the LAMP (Linux–Apache–MySQL–PHP) stack can be successfully migrated to a Windows-based stack (Windows–IIS–MySQL–PHP). The article [IIS for Apache Administrators](iis-for-apache-administrators.md) compares common IIS 7 and above tools and management scenarios with Apache tools and management scenarios. The SQL Server Driver for PHP can also make it possible to migrate applications to a Windows–IIS–SQL Server–PHP stack. This lets customers enjoy the convenience and familiarity of the Windows operating system. - -There are also many other migration scenarios. You may want to migrate to a newer version of IIS, or you may want to migrate to Microsoft® SQL Server® 2008 from MySQL. The following articles can provide guidance for various migration scenarios: - -- [Migrate to a Windows-Based Platform](migrate-to-a-windows-based-platform.md). Provides general migration guidance. -- [Import Apache mod\_rewrite Rules](../../extensions/url-rewrite-module/importing-apache-modrewrite-rules.md). Guides you through the process of converting Apache mod\_rewrite rules to IIS URL rewrite rules. -- [Migrate from MySQL to SQL Server 2008](migrate-from-mysql-to-sql-server-2008.md). Provides guidance on migrating from MySQL to SQL Server 2008. -- [Migrate from IIS 6.0 to IIS 7 or Above](../../publish/using-web-deploy/migrate-a-web-site-from-iis-60-to-iis-7-or-above.md). Helps you migrate a Web site from IIS 6.0 to IIS 7.0 or above using the Microsoft® Web Deployment Tool. diff --git a/iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-from-mysql-to-sql-server-2008.md b/iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-from-mysql-to-sql-server-2008.md index 90443a5bc..b703edb3a 100644 --- a/iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-from-mysql-to-sql-server-2008.md +++ b/iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-from-mysql-to-sql-server-2008.md @@ -13,11 +13,7 @@ by Tali Smith ## Introduction -PHP, a powerful server-side scripting language used for creating dynamic Web sites and applications, is one of the most widely used Web programming languages in use today. More than 4.5 million PHP developers and more than 22 million Internet domains use PHP [[1]](#_ftn1 "_ftnref1"). PHP has been widely deployed on Linux systems via the "LAMP" (Linux-Apache-MySQL-PHP) stack; this open-source Web development platform uses the Linux operating system, an Apache Web server, and a MySQL database with the PHP development language. - -However, PHP can also be implemented on the Windows® operating system, bringing a familiar user interface and legendary ease of use to the server platform. Windows Server® 2008, with the Internet Information Services (IIS) role, supports and improves the interoperability of PHP on Windows Server®, providing a solid, hardened, scalable Web server platform. - -With the advent of the SQL Server Driver for PHP and with the inclusion of FastCGI in IIS, PHP developers now have a strong platform for developing and running Web applications: Windows Server 2008, Internet Information Services (IIS), and Microsoft® SQL Server® 2008. +With the advent of the SQL Server Driver for PHP, PHP developers now have a strong platform for developing and running Web applications: Windows Server 2008 and Microsoft® SQL Server® 2008. ## Migrate from MySQL to SQL Server 2008 diff --git a/iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-to-a-windows-based-platform.md b/iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-to-a-windows-based-platform.md deleted file mode 100644 index ea9ff7946..000000000 --- a/iis/web-hosting/migrate-to-the-microsoft-web-platform/migrate-to-a-windows-based-platform.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: "Migrate to a Windows-Based Platform" -author: rick-anderson -description: "Microsoft embraces hosting PHP applications on the Windows ® operating system, both by building enabling technologies and by working with the PHP community t..." -ms.date: 11/15/2009 -ms.assetid: 98902a0b-c6f3-420b-b7e5-23afb2b640e8 -msc.legacyurl: /learn/web-hosting/migrate-to-the-microsoft-web-platform/migrate-to-a-windows-based-platform -msc.type: authoredcontent ---- -# Migrate to a Windows-Based Platform - -by Tali Smith - -## Introduction - -Microsoft embraces hosting PHP applications on the Windows® operating system, both by building enabling technologies and by working with the PHP community to ensure that popular PHP applications run well on the Windows platform. Customers appreciate the convenience of being able to run PHP applications on a Windows-based system because they are likely to have other computers running the operating system and are familiar with the user interface. The capabilities built into Windows Server® 2008, such as Internet Information Services 7 (IIS 7) and above, and FastCGI, make seamless operation of PHP applications possible. With the advent of the SQL Server Connector for PHP, users can add Microsoft® SQL Server® 2008 to the software stack if they desire, providing a top-to-bottom solution for PHP applications based on Microsoft® technology. - -PHP is quite portable. Cross-platform development has been a major goal in the development of PHP since the days of version 3. In most cases, PHP scripts are easily ported from Linux to Windows with very few problems. Microsoft has also produced a rich set of PHP migration documentation and a toolkit to assist in basic PHP application deployment; these are located on the [IIS Web site](../../application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis-60.md). - -Many popular PHP applications that have been written on and currently run on the LAMP (Linux–Apache–MySQL–PHP) stack can be successfully migrated to a Windows-based stack (Windows–IIS–MySQL–PHP. The SQL Server Driver for PHP can also make it possible to migrate applications to a Windows–IIS–SQL Server–PHP) stack. This lets customers enjoy the convenience and familiarity of the Windows operating system. - -Note that a Web site already hosted in the Apache/Windows environment takes less time to migrate than a Web site completely hosted in a LAMP (Linux, Apache, MySQL and PHP) environment. There are two types of migration processes (depending on the base operating system): - -- Migration of a Web site from Apache on Linux to IIS 7 or above on Windows Server 2008 or Windows Server® 2008 R2. -- Migration of a Web site from Apache on Windows Server® 2003, Windows® 2000, or Windows® XP to IIS 7.0 or above on Windows Server 2008 or Windows Server 2008 R2. - - - -## Basic Steps in Server Migration - -The basic steps for migration of a PHP application from Linux to Windows are: - -1. Plan your migration. -2. Install the Windows environment. Articles on the learn.iis.net Web site can step you through these procedures. -3. Migrate files. Migrating Web site files from one server to another can be done using the three different methods: - - - Migrating files using Windows Sharing - - Migrating files using File Transfer Protocol (FTP) - - Migrating files using Hypertext Transfer Protocol (HTTP) -4. Move databases. The two methods for migrating databases from one server to another include: - - - Migrating a database from MySQL on Windows Server 2003 to MySQL on Windows Server 2008 or Windows Server 2008 R2. - - Migrating a database from MySQL on Linux to Microsoft® SQL Server® 2005 or Microsoft® SQL Server® 2008 on Windows Server 2008. -5. Update configurations. -6. Migrate applications. -7. Fine-tune any issues. See the [Troubleshoot](#_Troubleshoot) section below. - - - -## Plan Your Migration - -Before initiating the migration, it is important to plan ahead to effectively prepare for all of the issues that may occur during the migration process and to outline an overall migration framework and steps. Some of the issues to consider before you begin migration include: - -- **Total time required for the migration**. The number of files (static HTML or PHP) and the number of tables and procedures have a significant impact on the overall time required to complete the migration, the type of migration process undertaken, and the database implemented. - A Web site consisting of a large number of PHP files and that has no centralized database management takes more time to migrate than a site using a centralized database configuration, because the aspects of the application, such as modifying queries and connection strings, need to be configured to work with the new database. - Similarly, a Web site with relatively high number of database tables may require modification of column types for the new database to run on SQL Server instead of MySQL. -- **Selection of database**. Databases can be migrated either from one MySQL instance of one server (Linux on Windows) to another MySQL instance of another server (Windows Server 2008 or Windows Server 2008 R2) or from MySQL on one server (Linux Windows) to SQL Server on another server (Windows Server 2008 or Windows Server 2008 R2). - Migrating data from MySQL to MySQL is simpler and more straightforward compared with migration from MySQL to SQL Server. Migration of data from MySQL to SQL Server requires migrating not just the tables and their fields, but the data types of the fields, indexes, keys, and others. - Migration of a database from MySQL to SQL Server also requires the installation of a MySQL Open Database Connectivity (ODBC) connector on Windows Server 2008. This driver helps create a link between the two types of database servers and facilitates the migration of tables. On the other hand, migrating data from MySQL on one server to MySQL on Windows Server 2008 does not require an ODBC driver. -- **Web site compatibility with IIS 7 and above and Windows Server 2008 or Windows Server 2008 R2**. The compatibility of an Apache-based Web site with IIS 7.0 and above and Windows Server 2008 or Windows Server 2008 R2 should be determined before proceeding with the actual migration. Web sites hosted on Apache and Linux have different dependencies compared with Web sites hosted on IIS 7 and above and Windows Server 2008 or Windows Server 2008 R2. - -## Migration Considerations - -Migration is easy, but you must test and fine-tune. Note that PHP, Apache HTTP server, and MySQL all run very well on Windows Server 2008 or Windows Server 2008 R2 and on the Server Core installation of Windows Server 2008 or Windows Server 2008 R2. You can easily replace Apache with IIS, and applications continue to run well. IIS stores a lot of configuration data in XML for easy editing, but unlike Apache, IIS can pick up changes dynamically without a restart of the system. - -Consider the following information about how PHP interacts with Web servers: - -- Php.ini settings on different servers can cause differences in how global variables are handled and what the PHP program accepts as legal PHP code. -- Many of the file system functions are Linux/UNIX-specific. Check each function in the PHP manual to find out whether or not the function works with Windows. -- Make sure that the parameters and file names you pass are case sensitive. Although you can set case sensitivity off in MySQL, most servers prefer to leave it on by default. On the Windows NT® version of MySQL, case sensitivity is off by default. - -Currently, PHP uses more than 80 extensions, covering a wide range of services and functionality. Only about half of these extensions are available on both platforms. A handful of extensions, such as the Component Object Model (COM), Microsoft® .NET, and IIS extensions, are specific to Windows. If an extension you use in your scripts is not currently available for Windows, you must look at either porting that extension or converting your scripts to use functionality that is available for Windows. - -Note that PHP has the following additional limitations: - -- Support for XML is low compared to the Microsoft XML implementation. However, XML support has greatly improved under Windows as of PHP 4.3.11 and more recently PHP 5.0.4. -- Support for SOAP is low, though it has improved as of PHP 5.x. -- PHP cannot access the Windows registry. -- PHP does not include support for handling users and groups on Windows. -- PHP does not include full support for Unicode, as of version 4.0.5. However, Unicode in PHP works well as of version 4.3.x, especially with the mbstring extension. Using the Php.ini directive mbstring.func\_overload = 7 replaces all non-UTF-8 safe functions with the mbstring equivalent functions. - - - -## Troubleshoot - -The following information may help you troubleshoot issues that you may encounter. - -- The file transfer may require some "helper" applications: - - - Smbclient is required for the Server Message Block (SMB) transfer. - - The Net::FTP Perl module is required for FTP. - - The Net::FTPSSL Perl module is required for FTP over Secure Sockets Layer (FTPS). - - The Net::SFTP Perl module is required for SSH FTP (SFTP). - - Openssh is required for the secure copy (SCP) transfer. -- If your PHP applications are timing out, you may be reaching the execution limit. Increase the value of max\_execution\_time in Php.ini. -- If your PHP applications are running out of memory, check the value of upload\_max\_filessize. Ensure that the value is adequate for your application. - -> [!NOTE] -> This article is based on the whitepaper: Apache to IIS 7.0 Migration Guide (`https://download.microsoft.com/download/2/D/8/2D863347-3AFF-48A6-9FCF-EC6554C18DCF/Apache%20to%20IIS%207%200%20Migration%20Guide.doc`) published in March, 2009.* - -## Links for Further Information - -- [Linux-Apache-MySQL PHP Migration webcasts](/archive/blogs/keithcombs/running-lamp-on-windows-server-2008-webcast-and-screencasts-now-available) -- [Migrating Linux-Apache-MySQL-PHP to Windows 2000](https://www.microsoft.com/technet/archive/interopmigration/linux/mvc/miglamp.mspx?mfr=true.) diff --git a/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/configuring-step-1-install-iis-web-farm-infrastructure.md b/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/configuring-step-1-install-iis-web-farm-infrastructure.md index 683fde766..5055c7cd2 100644 --- a/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/configuring-step-1-install-iis-web-farm-infrastructure.md +++ b/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/configuring-step-1-install-iis-web-farm-infrastructure.md @@ -88,8 +88,7 @@ If you need help configuring your website on your web server, refer to one of th 1. [Build a Static Website on IIS](../../manage/creating-websites/scenario-build-a-static-website-on-iis.md) 2. [Build a Classic ASP Website on IIS](../../application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md) 3. [Build an ASP.NET Website on IIS](../../application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) -4. [Build a PHP Website on IIS](../../application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) -5. [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) +4. [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) ## See also diff --git a/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/planning-step-1-plan-iis-web-farm-infrastructure.md b/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/planning-step-1-plan-iis-web-farm-infrastructure.md index 0cf2598c1..d43625453 100644 --- a/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/planning-step-1-plan-iis-web-farm-infrastructure.md +++ b/iis/web-hosting/scenario-build-a-web-farm-with-iis-servers/planning-step-1-plan-iis-web-farm-infrastructure.md @@ -81,8 +81,7 @@ The easiest way to configure your web farm is to start by getting your website w 1. [Build a Static Website on IIS](../../manage/creating-websites/scenario-build-a-static-website-on-iis.md) 2. [Build a Classic ASP Website on IIS](../../application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/scenario-build-a-classic-asp-website-on-iis.md) 3. [Build an ASP.NET Website on IIS](../../application-frameworks/scenario-build-an-aspnet-website-on-iis/overview-build-an-asp-net-website-on-iis.md) -4. [Build a PHP Website on IIS](../../application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis.md) -5. [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) +4. [Build an FTP Site on IIS](../../publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis.md) > [!NOTE] > To keep this scenario simple, it is assumed that your web farm servers only one site. However, you can set up multiple sites with little difficulty. diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php.md b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php.md deleted file mode 100644 index 1d0ac71fc..000000000 --- a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: "Verifying the Developer Experience - PHP" -author: walterov -description: "Introduction This walkthrough is intended to help hosters verify that their customers can use the Windows Web Platform tools and services to download, custom..." -ms.date: 01/18/2009 -ms.assetid: f1580123-265c-440b-ae5b-0120fe5dd786 -msc.legacyurl: /learn/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php -msc.type: authoredcontent ---- -# Verifying the Developer Experience - PHP - -by [Walter Oliver](https://github.com/walterov) - -## Introduction - -This walkthrough is intended to help hosters verify that their customers can use the Windows Web Platform tools and services to download, customize, publish, and manage their applications in a Hosted Environment. - -In this case we'll play the role of the developer and use the Microsoft Web Platform Installer to deploy a popular blogging PHP application called "WordPress" in the local developer machine. Once we verify that works we'll proceed to deploy it in the hosted server. - -In summary this walkthrough covers: - -1. Using Web Application Installer to install WordPress in a developer machine -2. Configuring the application to use MySQL and test it locally -3. Using Visual Web Developer to modify and publish the application to the remote server. -4. Using IIS Manager Remote Administration feature to change the application Default document list. - -## Prerequisites - -1. The hoster must have provided the developer with credentials that have access to an FTP site that shared its content with the corresponding Web Site. See FTP and VWD article <link: to FTP and VWD article> for details on how to setup this configuration so that users are isolated from each other. -2. The hoster must have PHP installed <link: [https://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis](../../application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis.md)>. -3. The hoster must have provided the developer with a MySQL database <link: [https://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above](../../application-frameworks/install-and-configure-php-on-iis/install-and-configure-mysql-for-php-applications-on-iis-7-and-above.md)>. -4. The developer must have installed Visual Web Developer (VWD) and MySQL. -5. The developer must have installed the Web Platform Installer (WPI). Follow the instructions at <link: [https://go.microsoft.com/fwlink/?LinkId=145510](https://go.microsoft.com/fwlink/?LinkId=145510) > - -## Step 1: Using WPI, install the WordPress application on your development machine - -As of the writing of this article a new version of Web Platform Installer is being released to the Web. Please visit [https://go.microsoft.com/fwlink/?LinkId=145510](https://go.microsoft.com/fwlink/?LinkId=145510) for more information. The set of applications include WordPress. - -## Step 2: Test the local WordPress Site and corresponding Database: - -Use IE to browse to the site: - -[![Screenshot of the Word Press Blog on Windows Internet Explorer.](verifying-the-developer-experience-php/_static/image3.jpg)](verifying-the-developer-experience-php/_static/image2.jpg) - -Now you are ready to publish the application. - -## Step 3: Use Visual Web Developer (VWD) to Modify and Publish Your Application - -1. Open your WordPress Site with VWD. The following dialog will display, press Yes. - - [![Screenshot of the dot NET Framework two dot zero Web Site Found dialog box. The Yes button is located at the bottom of the dialog box.](verifying-the-developer-experience-php/_static/image5.jpg)](verifying-the-developer-experience-php/_static/image4.jpg) - [![Screenshot of the Visual Web Developer two thousand eight Express Edition.](verifying-the-developer-experience-php/_static/image7.jpg)](verifying-the-developer-experience-php/_static/image6.jpg) -2. Modify the server name for the database and any other values provided by the hoster. - [![Screenshot of the database with values provided by the hoster. The server name is highlighted.](verifying-the-developer-experience-php/_static/image9.jpg)](verifying-the-developer-experience-php/_static/image8.jpg) -3. Open the menu Website and select "Copy Web Site": - - [![Screenshot of the database. The Website tab in the menu is selected. Copy Web Site is highlighted.](verifying-the-developer-experience-php/_static/image11.jpg)](verifying-the-developer-experience-php/_static/image10.jpg) - [![Screenshot of the Word Press Visual Web Developer two thousand and eight Express Edition Administrator page. A list of website names are shown.](verifying-the-developer-experience-php/_static/image13.jpg)](verifying-the-developer-experience-php/_static/image12.jpg) -4. Click Connect. Select FTP Site and enter the Server name, Port and user account credentials. Ensure that "Passive Mode" is checked and press Open: - - [![Screenshot of the Open Web Site dialog box. The Server name, Port, and User account credential boxes are shown. Passive mode is checked.](verifying-the-developer-experience-php/_static/image15.jpg)](verifying-the-developer-experience-php/_static/image14.jpg) -5. Proceed to publish the entire content to the target server. - -## Step 4: Deploy the WordPress MySQL Database Schema and Test Site. - -When WordPress runs for a first time it checks to see if the database schema is present, if it is not, it will allow the admin user to generate it. - -1. Using Internet Explorer browse to the new site, the following screen is displayed, enter the information requested: - - [![Screenshot of the Word Press website on Internet Explorer. The Blog Title and Email boxes are shown.](verifying-the-developer-experience-php/_static/image18.jpg)](verifying-the-developer-experience-php/_static/image17.jpg) -2. WordPress will auto-generate a random password for the admin user, make note of it and proceed to login: - [![Screenshot of the Word Press installation page. The text on the page says Success Word Press has been installed.](verifying-the-developer-experience-php/_static/image20.jpg)](verifying-the-developer-experience-php/_static/image19.jpg) -3. Enter the Admin credentials obtain in the previous step: - - [![Screenshot of the Word Press log in page. The Admin credentials have been inputted.](verifying-the-developer-experience-php/_static/image22.jpg)](verifying-the-developer-experience-php/_static/image21.jpg) -4. Now you can browse to the wp-admin page: - [![Screenshot of the Word press admin page. The Dashboard is shown.](verifying-the-developer-experience-php/_static/image24.jpg)](verifying-the-developer-experience-php/_static/image23.jpg) - -## Step 5: Use IIS Manager Remote Administration to change the WordPress Site Default Document List. - -1. Start IISMgr, if you are running Vista ensure that you are running the remote version of IISMgr: - - [![Screenshot of the WALTER O H P W S Home page. In the connections pane the Connect to a Site option is highlighted.](verifying-the-developer-experience-php/_static/image26.jpg)](verifying-the-developer-experience-php/_static/image25.jpg) -2. Connect to the Remote Site: - - [![Screenshot of the Connect to Site dialog box. The Server name box and the Site name box are shown.](verifying-the-developer-experience-php/_static/image28.jpg)](verifying-the-developer-experience-php/_static/image27.jpg) -3. Enter the Hoster provided user credentials: - - [![Screenshot of the Connect to Site dialog box. The username and password boxes are shown. The header text says Provide Credentials.](verifying-the-developer-experience-php/_static/image31.jpg)](verifying-the-developer-experience-php/_static/image30.jpg) -4. Assign a name to the new connection: - - [![Screenshot of the Connect to Site dialog box. The Connection Name box is shown. The text above it says Created a new connection successfully.](verifying-the-developer-experience-php/_static/image33.jpg)](verifying-the-developer-experience-php/_static/image32.jpg) -5. Install any IIS Manager extension modules that are offered in the following dialog: - - [![Screenshot of the New Feature Available dialog. The I I S Manager extension modules offered are shown in the box.](verifying-the-developer-experience-php/_static/image35.jpg)](verifying-the-developer-experience-php/_static/image34.jpg) -6. Select your new WordPress site, find the Default Document icon and double click on it: - - [![Screenshot of the Default Document page. The index dot p h p file is selected.](verifying-the-developer-experience-php/_static/image37.jpg)](verifying-the-developer-experience-php/_static/image36.jpg) -7. Select the index.php default document and move it up to the first place in the list. This will improve the performance. - - [![Screenshot of the Default Document page.The index dot p h p file is selected and has been moved to the top of the list of files.](verifying-the-developer-experience-php/_static/image39.jpg)](verifying-the-developer-experience-php/_static/image38.jpg) -8. WordPress deployment is complete. - -## Conclusion - -This walkthrough covered: - -1. Using Web Application Installer to install the WordPress PHP application in a developer machine. -2. Configuring the application to use MySQL and test it locally. -3. Using Visual Web Developer to modify and publish the application to the remote server. -4. Using IIS Manager Remote Administration feature to change the list of Default Documents for the site. diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image1.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image1.jpg deleted file mode 100644 index 08054436c..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image1.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image10.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image10.jpg deleted file mode 100644 index ef5ce2e29..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image10.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image11.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image11.jpg deleted file mode 100644 index ef5ce2e29..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image11.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image12.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image12.jpg deleted file mode 100644 index 2cfd2c365..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image12.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image13.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image13.jpg deleted file mode 100644 index 2cfd2c365..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image13.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image14.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image14.jpg deleted file mode 100644 index 29f0daf1a..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image14.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image15.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image15.jpg deleted file mode 100644 index 29f0daf1a..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image15.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image16.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image16.jpg deleted file mode 100644 index 2cfd2c365..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image16.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image17.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image17.jpg deleted file mode 100644 index 84564b761..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image17.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image18.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image18.jpg deleted file mode 100644 index 84564b761..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image18.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image19.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image19.jpg deleted file mode 100644 index 2a42c4991..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image19.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image2.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image2.jpg deleted file mode 100644 index 1465763cb..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image2.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image20.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image20.jpg deleted file mode 100644 index 2a42c4991..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image20.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image21.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image21.jpg deleted file mode 100644 index 45da890ea..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image21.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image22.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image22.jpg deleted file mode 100644 index 45da890ea..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image22.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image23.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image23.jpg deleted file mode 100644 index 420a64df1..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image23.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image24.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image24.jpg deleted file mode 100644 index 420a64df1..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image24.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image25.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image25.jpg deleted file mode 100644 index a2e38d65f..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image25.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image26.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image26.jpg deleted file mode 100644 index a2e38d65f..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image26.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image27.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image27.jpg deleted file mode 100644 index 9d58b2fb7..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image27.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image28.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image28.jpg deleted file mode 100644 index 9d58b2fb7..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image28.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image29.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image29.jpg deleted file mode 100644 index a2e38d65f..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image29.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image3.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image3.jpg deleted file mode 100644 index 1465763cb..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image3.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image30.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image30.jpg deleted file mode 100644 index 07cf2f559..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image30.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image31.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image31.jpg deleted file mode 100644 index 07cf2f559..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image31.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image32.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image32.jpg deleted file mode 100644 index a7b2a6ee7..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image32.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image33.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image33.jpg deleted file mode 100644 index a7b2a6ee7..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image33.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image34.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image34.jpg deleted file mode 100644 index 77d3b6cb4..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image34.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image35.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image35.jpg deleted file mode 100644 index 77d3b6cb4..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image35.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image36.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image36.jpg deleted file mode 100644 index 4d0897aca..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image36.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image37.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image37.jpg deleted file mode 100644 index 4d0897aca..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image37.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image38.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image38.jpg deleted file mode 100644 index 8f89ffe33..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image38.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image39.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image39.jpg deleted file mode 100644 index 8f89ffe33..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image39.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image4.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image4.jpg deleted file mode 100644 index 40a46b174..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image4.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image5.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image5.jpg deleted file mode 100644 index 40a46b174..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image5.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image6.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image6.jpg deleted file mode 100644 index 29204b57f..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image6.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image7.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image7.jpg deleted file mode 100644 index 29204b57f..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image7.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image8.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image8.jpg deleted file mode 100644 index 08054436c..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image8.jpg and /dev/null differ diff --git a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image9.jpg b/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image9.jpg deleted file mode 100644 index 08054436c..000000000 Binary files a/iis/web-hosting/verifying-the-deployment/verifying-the-developer-experience-php/_static/image9.jpg and /dev/null differ diff --git a/iis/web-hosting/web-server-for-shared-hosting/administration-pack.md b/iis/web-hosting/web-server-for-shared-hosting/administration-pack.md index babbbd0fd..f43f2d21d 100644 --- a/iis/web-hosting/web-server-for-shared-hosting/administration-pack.md +++ b/iis/web-hosting/web-server-for-shared-hosting/administration-pack.md @@ -59,9 +59,7 @@ Some IIS configuration settings come in the form of a collection. This article & The FastCGI module lets you configure FastCGI settings that are used by Web sites on the server. It lets the user add and remove FastCGI applications and change these settings. The following image depicts the Add FastCGI Application dialog box. -[![Screenshot that shows the Fast C G I Settings pane. The Add Fast C G I Application dialog box is open.](administration-pack/_static/image6.jpg)](administration-pack/_static/image5.jpg) - -For a complete guide about hosting PHP applications with FastCGI, see this article <link: [https://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#Install\_Administration\_Pack\_for\_IIS\_7.0](https://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis#Install_Administration_Pack_for_IIS_7.0) >. +[![Screenshot that shows the Fast C G I Settings pane. The Add Fast C G I Application dialog box is open.](administration-pack/_static/image6.jpg)](administration-pack/_static/image5.jpg) ### .NET Authorization Rules Module diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php.md b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php.md deleted file mode 100644 index 8ed2c0f9a..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php.md +++ /dev/null @@ -1,219 +0,0 @@ ---- -title: "FastCGI with PHP" -author: ruslany -description: "Overview The FastCGI support in IIS enables popular application frameworks that support FastCGI protocol to be hosted on the IIS web server in a high-perform..." -ms.date: 12/01/2007 -ms.assetid: b9580403-5f10-4397-a8d0-daa76abd8379 -msc.legacyurl: /learn/web-hosting/web-server-for-shared-hosting/fastcgi-with-php -msc.type: authoredcontent ---- -# FastCGI with PHP - -by [Ruslan Yakushev](https://github.com/ruslany) - -The FastCGI support in IIS enables popular application frameworks that support FastCGI protocol to be hosted on the IIS web server in a high-performance and reliable way. FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release. - -CGI programs are executables launched by the web server for each request in order to process the request and generate dynamic responses that are sent back to the client. Because many of these frameworks do not support multi-threaded execution, CGI enables them to execute reliably on IIS by executing exactly one request per process. Unfortunately, it provides poor performance due to the high cost of starting and shutting down a process for each request. - -FastCGI addresses the performance issues inherent to CGI by providing a mechanism to reuse a single process over and over again for many requests. Additionally, FastCGI maintains compatibility with non-thread-safe libraries by providing a pool of reusable processes and ensuring that each process will only handle one request at a time. - - - -## Enabling FastCGI Support in IIS 7.0 - -**To enable FastCGI on IIS 7.0** - -- Add CGI role service by going to Server Manager > Roles > Add Role Services. This enables both CGI and FastCGI services. - -![Screenshot of the Add Role Services Wizard. C G I is selected under Role Services.](fastcgi-with-php/_static/image3.png) - - - -## Install and Configure PHP - -It is recommended to use a non-thread safe build of PHP with IIS 7.0 FastCGI. Non-thread safe build of PHP provides significant performance gains over the standard build by not doing any thread-safety checks, which are not necessary, since FastCGI ensures a single threaded execution environment. - -> [!NOTE] -> There is no installer package for non-thread safe build of PHP. - -1. Download the latest non-thread safe binaries of PHP from . - -2. Unpack the files to a directory of your choice (e.g. `C:\PHP`). Rename the php.ini-recommended to php.ini. - -3. Open php.ini file, then uncomment and modify settings as follows: - - a. Set fastcgi.impersonate = 1. FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under. - - b. Set cgi.fix\_pathinfo=1. cgi.fix\_pathinfo provides \*real\* PATH\_INFO/PATH\_TRANSLATED support for CGI. PHP's previous behavior was to set PATH\_TRANSLATED to SCRIPT\_FILENAME, and to not care what PATH\_INFO is. For more information on PATH\_INFO, see the cgi specs. Setting this to 1 will cause PHP CGI to fix it's paths to conform to the spec - - c. Set cgi.force\_redirect = 0. - - d. Set open\_basedir to point to a folder or network path where the content of the web site(s) is located. - -4. To test if the PHP installation is successful, run the following from the command line prompt: - - [!code-console[Main](fastcgi-with-php/samples/sample1.cmd)] - -If PHP was installed correctly and all its dependencies are available on the machine, then this command will output the current PHP configuration information. - - - -## Configure IIS 7.0 to Handle PHP Requests - -In order for IIS 7.0 to host PHP applications, it is necessary to add a handler mapping that tells IIS to pass all requests for PHP files to PHP application framework via FastCGI protocol. - -### To add a handler mapping at a server level - -1. Open IIS Manager and then select and open "Handler Mappings" at the server level: - - ![Screenshot of the W I N two K eight Home page. The Handler Mappings icon is selected.](fastcgi-with-php/_static/image7.png) - -2. Select "Add Module Mapping" action and specify the configurations settings as below: - - ![Screenshot of the Add Module Mapping dialog box. The configuration settings are shown.](fastcgi-with-php/_static/image9.png) - - - Request path: **\*.php** - - Module: **FastCgiModule** - - Executable: `C:\[Path to your PHP installation]\php-cgi.exe` - - Name: **PHP via FastCGI** - -3. Click OK. The dialog box appears asking if you want to create a FastCGI application for this executable. Click Yes. - -4. Test that the handler mapping works correctly by creating a phpinfo.php file in the `C:\inetpub\wwwroot` folder that contains the following: -`.` - -5. Open a browser and navigate to `http://localhost/phpinfo.php`. If everything was setup correctly, then you see the standard PHP information page. - -Alternatively, the above mentioned steps can be completed by using command line tool appcmd. - -1. To create the FastCGI application process pool, run the following command: - - [!code-console[Main](fastcgi-with-php/samples/sample2.cmd)] - -2. After that, create the handler mapping: - - [!code-console[Main](fastcgi-with-php/samples/sample3.cmd)] - -> [!NOTE] -> If you are using a PHP version 4.X, instead of php-cgi.exe, you can use php.exe. - - - -## Best Practices for Configuring FastCGI and PHP - -### Security Isolation for PHP Web Sites - -The recommendation for isolating PHP web sites in a shared hosting environment is consistent with all general security isolation recommendations for IIS 7.0. In particular, it is recommended to: - -- Use one application pool per web site -- Use user account as an identity for application pool -- Configure anonymous user identity to use the application pool identity -- Ensure that FastCGI impersonation is enabled in php.ini file (fastcgi.impersonate=1) - -For more details about security isolation in shared hosting environment, refer to [Isolating Sites with Application Pools](../../manage/creating-websites/provisioning-iis-7-sites-for-shared-hosting.md#Isolating "Isolating Sites with Application Pools"). - -### PHP Process Recycling Behavior - -Make sure that FastCGI always recycles php-cgi.exe processes before the native PHP recycling kicks in. The FastCGI process recycling behavior is controlled by the configuration property instanceMaxRequests. This property specifies how many requests FastCGI process will process before recycling. PHP also has a similar process recycling functionality that is controlled by an environment variable PHP\_FCGI\_MAX\_REQUESTS. By setting instanceMaxRequests to be smaller or equal to PHP\_FCGI\_MAX\_REQUESTS, you can ensure that native PHP process recycling logic will never kick in. - -To set these configuration properties use the following commands: - -[!code-console[Main](fastcgi-with-php/samples/sample4.cmd)] - -[!code-console[Main](fastcgi-with-php/samples/sample5.cmd)] - -> [!NOTE] -> If those parameters have not been set, then the following default settings are used: instanceMaxRequests = 200, PHP\_FCGI\_MAX\_REQUESTS = 500 (on most PHP builds). - -### PHP Versioning - -Many PHP applications may rely on functions or features available only in certain versions of PHP. - -It is a common requirement in a shared hosting environment to support multiple versions of PHP on the same server. IIS 7.0 FastCGI handler fully supports running multiple versions of PHP on the same web server. For example, let's assume that on your web server you plan to support PHP 4.4.8, PHP 5.2.1 and PHP 5.2.5 non-thread safe. To enable that, you must place corresponding PHP binaries in separate folders on files system (e.g. `C:\php448\`, `C:\php521\` and `C:\php525nts`) and then create the FastCGI application process pools for each version: - -[!code-console[Main](fastcgi-with-php/samples/sample6.cmd)] - -Now, if you have 3 web sites (site1, site2, site3), where each site needs to use a different PHP version, you can define handler mappings on each of those sites to reference a corresponding FastCGI application process pool. - -> [!NOTE] -> Each FastCGI process pool is uniquely identified by a combination of fullPath and arguments properties. - -[!code-console[Main](fastcgi-with-php/samples/sample7.cmd)] - -### PHP Security Recommendations - -The following recommendations describe how to tighten security of PHP in shared hosting environment. To make the recommended changes locate and open php.ini file and edit it as described below: - -1. Disable remote URL's for file handling functions: - - - Set allow\_url\_fopen=Off - - Set allow\_url\_include=Off -2. Disable register\_globals: - - - register\_globals=Off -3. Restrict where PHP can read and write on a file system, e.g.: - - - open\_basedir="c:\inetpub\" -4. Disable safe mode: - - - safe\_mode=Off - - safe\_mode\_gid=Off -5. Limit script execution time: - - - max\_execution\_time=30 - - max\_input\_time=60 -6. Limit memory usage and file sizes: - - - memory\_limit=16M - - upload\_max\_filesize=2M - - post\_max\_size=8M - - max\_input\_nesting\_levels=64 -7. Configure error messages and logging: - - - display\_errors=Off - - log\_errors=On - - error\_log="C:\path\of\your\choice" -8. Hide presence of PHP: - - - expose\_php=Off - - - -## Enabling per-site PHP configuration - -Very often it may be necessary to allow customers to override the PHP configuration values specified in php.ini. For example, if customer installs a popular PHP application then this application may require certain PHP settings to be modified in order to function correctly. The section describes the recommended way of enabling per-site PHP configuration . Note that this recommendation was discovered and validated by Radney Jasmin with hosting provider [GoDaddy.com](http://www.godaddy.com/) who now offers PHP hosting on Windows Server 2008 via FastCGI. - -### Per-site PHP process pools - -When each web site has its own application pool (which is a recommended practice for shared hosting on IIS 7.0), it is possible to associate a dedicated FastCGI process pool with each web site. A FastCGI process pool is uniquely identified by the combination of **fullPath** and **arguments** attributes. So, if it is necessary to create several FastCGI process pools for the same process executable, such as php-cgi.exe, the **arguments** attribute can be used to make process pools unique. In addition, with php-cgi.exe processes the command line switch "-d" can be used to define an INI entry for PHP process. This switch can be used to set some fake PHP setting that makes the arguments string unique. - -For example, if there are two web sites "website1" and "website2" that need to have their own set of PHP settings, the FastCGI process pools can be defined as follows: - -[!code-xml[Main](fastcgi-with-php/samples/sample8.xml)] - -Then website1 can have the PHP handler mapping as follows: - -[!code-xml[Main](fastcgi-with-php/samples/sample9.xml)] - -and website2 can have the PHP handler mapping as follows: - -[!code-xml[Main](fastcgi-with-php/samples/sample10.xml)] - -### Specifying php.ini location - -When PHP process starts it determines the location of configuration php.ini file by using various settings. [The PHP documentation](http://www.php.net/manual/en/configuration.php) provides detailed description of the PHP start up process. Note that one of the places where PHP process searches for php.ini location is the PHPRC environment variable. If PHP process finds a php.ini file in the path specified in this environment variable then it will use it, otherwise it will revert to default location of php.ini. This environment variable can be used to allow hosting customers to use their own versions of php.ini files. - -For example if there are two websites: website1 and website2; located at the following file paths: `C:\WebSites\website1` and `C:\WebSites\website2` then the php-cgi.exe process pools in `` section of applicationHost.config can be configured as below: - -[!code-xml[Main](fastcgi-with-php/samples/sample11.xml)] - -This way owner of website1 can place their own version of php.ini into the `C:\WebSites\website1`, while the owner of website2 can use their own version of php.ini located in `C:\WebSites\website2`. This configuration also ensures that if there is no php.ini found in location specified by PHPRC environment variable then PHP will fall back to using the default php.ini file located in the same folder where php-cgi.exe is located. - - - -## Providing URL rewriting functionality for PHP applications - -Majority of popular PHP applications rely on the URL rewriting functionality in web servers to enable user friendly and search engine friendly URL's. IIS7 will provide URL rewriting capabilities via [URL rewrite module](../../extensions/url-rewrite-module/using-the-url-rewrite-module.md "URL rewrite module"), which is currently available as a [technical preview](https://www.iis.net/downloads/microsoft/url-rewrite "URL Rewrite TP"), There is no URL rewriting support provided for IIS versions earlier than 7.0 so the most commonly used options today for enabling URL rewriting on IIS 5.0, IIS 5.1 and IIS 6.0 are the following products: - -- [ISAPI\_Rewrite](https://www.iis.net/downloads?tabid=34&g=6&i=1599 "ISAPI_Rewrite download") developed by [Helicon Tech](http://www.helicontech.com/ "Helicon Tech"). ISAPI\_Rewrite is a flexible, rule-base URL manipulation mechanism for IIS that closely matches the functionality and feature set of Apache mod\_rewrite. In fact, the latest version of ISAPI\_Rewrite is fully compatible with Apache mod\_rewrite syntax, which means that rewrite rules in .htaccess files, which are included with or generated by PHP applications, will work with ISAPI\_Rewrite without any modifications. -- Ionics Isapi Rewrite Filter (IIRF), is an open source URL rewriting ISAPI filter that is easy to use and has a set of good features. It works on IIS 5.0, 5.1, 6.0, and 7.0. diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image1.png b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image1.png deleted file mode 100644 index 6e55bce10..000000000 Binary files a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image1.png and /dev/null differ diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image3.png b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image3.png deleted file mode 100644 index 1633432a7..000000000 Binary files a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image3.png and /dev/null differ diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image7.png b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image7.png deleted file mode 100644 index 43a70e680..000000000 Binary files a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image7.png and /dev/null differ diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image9.png b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image9.png deleted file mode 100644 index 6e55bce10..000000000 Binary files a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/_static/image9.png and /dev/null differ diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample1.cmd b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample1.cmd deleted file mode 100644 index 91d448c70..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample1.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\PHP>php –info \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample10.xml b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample10.xml deleted file mode 100644 index 784d9a782..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample10.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample11.xml b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample11.xml deleted file mode 100644 index 259fcf631..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample11.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample2.cmd b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample2.cmd deleted file mode 100644 index e82b6d26e..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample2.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\{php_folder}\php-cgi.exe'] \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample3.cmd b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample3.cmd deleted file mode 100644 index 68ee40bb4..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample3.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='c:\{php_folder}\php-cgi.exe',resourceType='Either'] \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample4.cmd b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample4.cmd deleted file mode 100644 index 5c083bfb4..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample4.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='c:\{php_folder}\php-cgi.exe'].instanceMaxRequests:10000 \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample5.cmd b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample5.cmd deleted file mode 100644 index e76e6831d..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample5.cmd +++ /dev/null @@ -1 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /+[fullPath='c:\{php_folder}\php-cgi.exe'].environmentVariables.[name=’PHP_FCGI_MAX_REQUESTS’, value='10000'] \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample6.cmd b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample6.cmd deleted file mode 100644 index 49757df97..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample6.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php448\php.exe'] - -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php521\php-cgi.exe'] - -C:\>%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php525nts\php-cgi.exe'] \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample7.cmd b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample7.cmd deleted file mode 100644 index 35360f672..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample7.cmd +++ /dev/null @@ -1,5 +0,0 @@ -C:\>%windir%\system32\inetsrv\appcmd set config site1 –section:system.webServer/handlers /+"..[name=’PHP448_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php448\php.exe’,resourceType=’Either’] - -C:\>%windir%\system32\inetsrv\appcmd set config site2 –section:system.webServer/handlers /+"..[name=’PHP521_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php521\php-cgi.exe’,resourceType=’Either’] - -C:\>%windir%\system32\inetsrv\appcmd set config site3 –section:system.webServer/handlers /+"..[name=’PHP525nts_via_FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’c:\php525nts\php-cgi.exe’,resourceType=’Either’] \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample8.xml b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample8.xml deleted file mode 100644 index 73012290e..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample8.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample9.xml b/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample9.xml deleted file mode 100644 index 1633336cf..000000000 --- a/iis/web-hosting/web-server-for-shared-hosting/fastcgi-with-php/samples/sample9.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file