Follow these steps to upgrade PHP if you are running an older version. Depending on the MassTransit version you have, you need the following PHP version:
Note: PHP version 5.5.x requires that you have Microsoft Visual C++ Redistributable for Visual Studio 2012 x86 or x64 bit installed.
To determine your current version of PHP:
C:\php\php -v
The first line of the output will display the version of your current PHP installation.
Backing up your current PHP folder and php.ini file
Note: If you are running the recommended or newer PHP version for your MassTransit version, go directly to the Configuring your PHP section below.
Note: These instructions assume that your operating system is installed on the C:\ drive.
Upgrading your PHP
Warning: Don't use the PHP installer—only extract the zip package as stated above.
Note: If you don't see all of the required PHP files mentioned below after using Stuffit Expander, try extracting the zip file with another application.
Windows Server 2008 R2 Service Pack 1 is the oldest Windows Server version that PHP 7.x supports. If your Windows Server version is older, you have to use PHP version 5.5.x or earlier. PHP version 7.x requires that you have Microsoft Visual C++ Redistributable for Visual Studio 2015 x64 bit installed.
Windows Server 2003 and Windows XP are the oldest Windows versions that PHP 5.5.x supports. If you intend to use MassTransit on Windows Server 2003, you will need PHP version 5.4.x. PHP version 5.5.x requires that you have Microsoft Visual C++ Redistributable for Visual Studio 2012 x86 or x64 bit installed.
Configuring your PHP
Warning: Since you have PHP already installed and it might be running other websites, you must configure your php.ini file according to the configurations in your backed up php.ini file (usually, in your C:\Windows or C:\php folder, see Backing up your current PHP folder and php.ini file above). Any changes to the php.ini file require a restart of your web server.
Note: The Network Service user rarely shows up explicitly, but is a member of the Users group. Depending on the security structure for the machine, you may want to add the Users group to the PHP folder (and propagate permissions to the files and folders within it), or add only the Network Service user.
Note: There is a known issue with PHP, which may require that you setup additional permissions. For more information, refer to this knowledge base article: https://kb.acronis.com/node/47136.
Note: All lines beginning with a semicolon (;) in the php.ini file are considered commented and therefore ignored. Ensure that you delete the semicolons (;) at the beginning of the lines from the php.ini file mentioned below.
display_errors = Off
doc_root = "C:\Program Files (x86)\Acronis\MassTransit Server\MTWeb\WebRoot"
doc_root = "C:\Program Files (x86)\Group Logic\MassTransit Server\MTWeb\WebRoot"
doc_root = "C:\Program Files (x86)\Group Logic\MassTransit Server 7\MTWeb\WebRoot"
doc_root = "C:\Program Files\Acronis\MassTransit Server\MTWeb\WebRoot"
doc_root = "C:\Program Files\Group Logic\MassTransit Server 7\MTWeb\WebRoot"
extension_dir = "C:\php\ext"
cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_soap.dll
session.save_path = "C:\php\tmp"
upload_tmp_dir = "C:\php\tmp"
Note: The Windows user account associated with the IIS website that MassTransit will use (generally, IUSR) needs to have Write access to the tmp folder.
session.cache_limiter =
error_reporting = E_ALL
log_errors = on
error_log = "MT-PHPLog.log"
Note: The Windows user account associated with the IIS website that MassTransit will use (generally, IUSR) needs to have write access to the log file. By default, if you don't specify a folder, the log file location will be your Webroot folder.
If you don‘t want to grant this user account full access to a folder, you may create an empty log file with this name manually, and then grant the Windows user account Write access to that file only.
magic_quotes_gpc = Off
Note: The PHP default size for the upload_max_filesize = 2M, and the post_max_size = 8M. If, for example, you want users to be able to send files to your server that are 150 MB, then set the upload_max_filesize = 150M, and the post_max_size to 200M. It is recommended that you set the post_max_size to be slightly higher than the upload_max_filesize but it should not exceed 2047M.
The upload_max_filesize number is the largest size any file can be. For example, you can limit users to sending files to your server that are only 50 MB or less. However, the post_max_size defines the total post that can come to the server.
In this example, if you set that to 230 MB, then a user could send four 50 MB files to the server and it would work, because 4 x 50 = 200 and this is smaller than the 230 post_max_size. But the user could not send one 50 MB file and one 100 MB file, because 100 MB is larger than the upload_max_filesize value.
The largest allowable size for an HTTP upload is 2GB, which you can specify as 2047M.
Note: The PHP default value for max_input_time = 30 and the max_execution_time = 60. The maximum time for transfer is limited by the IIS timeout parameter, which cannot be greater than 3600 seconds. Setting the value to the possible maximum of 3600 for both the max_input_time and the max_execution_time is recommended.
PHP setup is now complete.
Note:To increase MassTransit web performance, you can use the Windows Cache Extension for PHP. You can find its installation file at http://sourceforge.net/projects/wincache/files/wincache-1.1.0/wincache-1.1.0-5.3-nts-vc9-x86.exe/download. For instructions on how to set Windows Cache Extension for PHP, refer to http://us3.php.net/manual/en/wincache.installation.php.
Please, use the link above. Don't use the Windows Platform Installer because it will install a conflicting copy of PHP.