<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/install.cloud.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'en',
  ),
  'this' => 
  array (
    0 => 'install.cloud.azure.php',
    1 => 'Azure App Services',
    2 => 'Azure App Services',
  ),
  'up' => 
  array (
    0 => 'install.cloud.php',
    1 => 'Installation on Cloud Computing platforms',
  ),
  'prev' => 
  array (
    0 => 'install.cloud.php',
    1 => 'Installation on Cloud Computing platforms',
  ),
  'next' => 
  array (
    0 => 'install.cloud.ec2.php',
    1 => 'Amazon EC2',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'install/cloud/azure.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="install.cloud.azure" class="sect1">
  <h2 class="title">Azure App Services</h2>
  <p class="para">
    PHP is frequently used on Azure App Services (aka Microsoft Azure, Windows Azure, Azure Web Apps).
  </p>
  <p class="para">Azure App Services manages pools of Windows Web Servers to host your web application, as an alternative to managing your own web server on your own Azure Compute VMs or other servers.
  </p>
  <p class="para">PHP is already enabled for your Azure App Services web site automatically. In the Azure Portal, select your web site, and you can choose which version of PHP to use. You may want to choose a newer version than the default.
  </p>

  <p class="para">As such, PHP and extensions will run on Azure App Services just as they will on other Windows servers.

  However, the management interface for Azure App Services is different:
  </p>

  <ul class="itemizedlist">
    <li class="listitem">
      <p class="para">Azure portal: create, edit settings and delete web sites. <a href="https://portal.azure.com/" class="link external">&raquo;&nbsp;Azure Portal</a>
      </p>
    </li>
    <li class="listitem">
     <p class="para">
      Kudu Dashboard: if the website has the URL
      <code class="literal"><span class="replaceable">site_name</span>.azurewebsites.net</code>,
      the Kudu dashboard is
      <code class="literal">https://<span class="replaceable">site_name</span>.scm.azurewebsites.net/</code>.
      The dashboard provides access to debugging capabilities, file
      management, and site extensions.
      Site extensions are an Azure mechanism to add extra programs,
      like PHP preview builds, to a website.
     </p>
    </li>
    <li class="listitem">
      <p class="para">You can not use IIS Manager, Server Manager, or RDP.</p>
    </li>
  </ul>

  <p class="para">There is also a PHP SDK for programmatically using many Azure Services from your PHP code. See <a href="https://github.com/Azure/azure-sdk-for-php" class="link external">&raquo;&nbsp;Azure SDK for PHP</a>.
  </p>
  
  <p class="para">For more information, see <a href="https://azure.microsoft.com/en-us/develop/php/" class="link external">&raquo;&nbsp;Azure PHP Developer Center</a>
  </p>

  <div class="sect2">
    <h3 class="title">WinCache</h3>
  <p class="para">WinCache is enabled by default on Azure App Services and it is recommended that you leave it enabled.

  If you install your own build of PHP, you should enable WinCache on that too.
  </p>
  </div>

  <div class="sect2">
    <h3 class="title">Custom PHP Build</h3>
  <p class="para">You may upload your own PHP build to your D:\Home (C:\ is NOT writable). Then in the Azure Portal, set SCRIPT_PROCESSOR for .php to the absolute path of the php-cgi.exe file in your build.
  </p>
  </div>

</div><?php manual_footer($setup); ?>