diff --git a/install/cloud/azure.xml b/install/cloud/azure.xml index f61114edc0..c360b65c20 100644 --- a/install/cloud/azure.xml +++ b/install/cloud/azure.xml @@ -1,13 +1,43 @@ - Microsoft Azure + Azure App Services - PHP installs on the Azure cloud platform. + PHP is frequently used on Azure App Services (aka Microsoft Azure, Windows Azure, Azure Web Apps). - See also the Azure SDK for PHP. + 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. + + 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. + + + As such, PHP and extensions will run on Azure App Services just as it will on other Windows servers. + + Much of the knowledgebase is also portable, so see the Windows Troubleshooting Page too. + + However, the management interface for Azure App Services is different: + + + Azure portal: create, edit settings and delete web sites. Azure Portal + Kudu Dashboard: [your web site name].azurewebsites.net Then, the Kudu dashboard is https://[your web site name].scm.azurewebsites.net/. The Dashboard gives you access to some debugging capabilities, file management and site extensions. Site extensions are an Azure mechanism to add extra programs, like PHP preview builds, to your web site. + + + You can not use IIS Manager, Server Manager, or RDP. + + There is also a PHP SDK for programmatically using many Azure Services from your PHP code. See Azure SDK for PHP. + + +

WinCache

+ 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. + + +

Custom PHP Build

+ 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 to php-cgi.exe file in your build. + +
+ + + Manual PHP Installation on Windows + +

Choose Web Server

+ + IIS is builtin to Windows. + + On Windows Server, use Server Manager to add the IIS role. Be sure to include the CGI Role Feature. + + On Windows Desktop, use Control Panel's Add/Remove Programs to add IIS. See: https://msdn.microsoft.com/en-us/library/ms181052%28v=vs.80%29.aspx?f=255&MSPPError=-2147217396 + + For desktop web apps and web-development, you can also use IIS/Express or PHP Desktop + + How to manually configure IIS + + There are several builds of Apache2 for Windows. + + We support ApacheLounge, but other options include XAMPP, WampServer and BitNami, which provide automatic installer tools. + + You may use mod_php or mod_fastcgi to load PHP on Apache. + + If you use mod_php, you MUST use a TS build of Apache built with same version of Visual C and same CPU (x86 or x64). + + How to manually configure Apache2 + + + +

Choose Build

+ + Download PHP production releases from http://windows.php.net/downloads/release/. + + A lot of testing and optimization is already done on the snapshot and qa releases, but you are welcome to help us do more. + + There are 4 types of PHP builds: + Thread-Safe(TS) - use for single process web serves, like Apache with mod_php + Non-Thread-Safe(NTS) - use for IIS and other FastCGI web servers (Apache with mod_fastcgi) and recommended for command-line scripts + x86 - production use of PHP 5.5 or 5.6 or 7.0. + x64 - production use of PHP 7.0+ unless its a 32-bit only version of Windows. 5.5 and 5.6 x64 are expiremental. + +
diff --git a/install/windows/recommended.xml b/install/windows/recommended.xml new file mode 100644 index 0000000000..7750b7f878 --- /dev/null +++ b/install/windows/recommended.xml @@ -0,0 +1,58 @@ + + + + + Recommended Configuration on Windows systems + +

OpCache

+ + + Highly Recommended that you enable OpCache. This extension is included with PHP for Windows. It compiles and optimizes PHP scripts and caches them in memory so that they aren't compiled every time the page is loaded. + + + In your php.ini, set zend_extension=php_opcache.dll opcache.enable=On opcache.cli_anble=On + + And restart your web server. + + For more info, see: http://php.net/manual/en/opcache.configuration.php + + +

WinCache

+ + + Recommended that you use WinCache if using IIS, especially if in a shared web hosting environment or using networked file storage (NAS). + + All PHP Applications automatically benefit from WinCache's file cache feature. File system operations are cached in memory. + + WinCache also can cache user objects in memory and share them between php.exe or php-cgi.exe processes (share objects between requests). + + Many major web applications have a plugin or extension or configuration option to make use of the WinCache user object cache. + + If you need high performance, you should use the object cache in your applications. + + See: http://pecl.php.net/package/WinCache to download a WinCache DLL (or tgz) to your PHP extensions directory (extensions_dir in your php.ini). + + In your php.ini, set extension=php_wincache.dll wincache.fcenabled=1 wincache.ocenabled=1 + + For more info, see: http://php.net/manual/en/wincache.configuration.php + + +

IIS Configuration

+ + In IIS Manager, Install FastCGI module and add a handler mapping for `.php` to the path to PHP-CGI.exe (not PHP.exe) + + + + You may use the APPCMD command line tool to script IIS configuration. See attached script TODO. + + + +

Database

+ + You'll probably need a Database Server. Popular databases provide PHP extensions to use them. If your web site doesn't get a lot of traffic, you can run your database server on the same server as your web server. Many popular database servers run on Windows. + + PHP includes mysqli and pdo_mysql extensions. PHP 5.5 and 5.6 include mysql extension (deprecated in 7.0). + + See https://dev.mysql.com/downloads/windows/ + +
diff --git a/install/windows/tools.xml b/install/windows/tools.xml new file mode 100644 index 0000000000..1234202610 --- /dev/null +++ b/install/windows/tools.xml @@ -0,0 +1,14 @@ + + + + + PHP Installer Tools on Windows + +

PHP Install Tools

+ + If you want to setup PHP, some common PHP applications and are using IIS, the easiest way is to use Microsoft's Web Platform Installer (WebPI). + + + XAMPP, WampServer and BitNami will setup PHP applications for use with Apache on Windows. + +
diff --git a/install/windows/troubleshooting.xml b/install/windows/troubleshooting.xml new file mode 100644 index 0000000000..0d7ce52b25 --- /dev/null +++ b/install/windows/troubleshooting.xml @@ -0,0 +1,11 @@ + + + + + Troubleshooting PHP on Windows + +

Check Temp Directory Permissions

+ + Right-click temp directory in File Explorer to get the permissions. For IIS, check that user IIS_User has MODIFY permission. You can get the temporary directory from the configuration or php info. + +