(php 5.3.5 Page 2 of 7)
Which PHP 5.3.5 Version VC6 or VC9?
When the Website Administrator first arrives at the Php Downloads page, he will be presented with an array of various suitable for Windows PHP builds to choose from. VC6, VC9, Thread Safe, Non Thread Safe? We will ask the questions so we know what these are and which combination to install. Regardless of your final choice, this tutorial will step you through the installation procedure for which ever pair you choose [note: version 5.3.5, is the last official release to offer both VC6 and VC9 Php compiled releases for download].
The first question to resolve is "What is the difference between the VC6 and the VC9 downloads?" And your answer would be of little consequence in that the VC number is just a technical reference as to which version of Visual c++ was used to compile your PHP install package into it's final distributive state. However, the different pre-compiled HTTP Server Software for Windows (apache, iis) have been compiled using different c++ compilers. This then introduces differing technical requirements and creates the need to have the two separate compiler versions of Php available for download.
So this number does identify which version you need to download to be applicable to your server type. i.e. iis or apache? They are not technically interchangeable and may require you to install a compatible runtime library to be properly functional if you plan to install Php for Microsoft's iis server (More data regarding VC9 and Apache has been introduced in our 5.3.6 guide).
The readily available PHP Windows VC versions offered for download are both 32bit.
VC9 builds are for the Microsoft IIS Server.
VC9 downloads also require that one of the following suitable Microsoft C++ Runtime Libraries are installed for the operating system, either;
- x86 [32bit] (vcredist_x86.exe) or
- x64 [64bit] (vcredist_x64.exe).
If you install PHP using the .msi installer method, the correct library files will be installed automatically for you. The .zip packages include an .msi installer which needs to be manually started to ensure these required files are installed on your system.
There is an experimental VC9 x64 listed in the downloads page pulldown-list of downloads which is currently being tested, but is not production ready and therefore is not a general public release at this time. Bear in mind that if you do wish to use it, you may need to re-write or patch your code should it be officially released. View our resources page for VC8 x64 and VC9 x64 here if you require this download.
VC6 builds are for the Apache HTTP Server
The VC6 downloads require no further downloads for Runtime Library Support and are good to go as soon as you download the file. VC6 builds are for Apache or other third party Microsoft Windows compatible software (and/or extensions) that have not been compiled using Microsoft's VC9 compiler. It is of no current concern that official PHP VC6 support is due to conclude with the 5.3.x version releases [note dated: Jan 2010].
As this guide expands on our Apache 2.2 .msi installation on Windows, we will download the recommended VC6 build for our HTTP server and avoid any possibility of backward incompatibilities or library conflicts.
(Some of you on this page might not know that Unix or Linux is vastly more stable and more powerful than Windows. Apache is a gateway into this powerful setup. If you have not done so recently, you should review how easy it is to install, setup and use a desktop system running a free version of Linux at some point in the near future.)
PHP 5.3.5 Thread Safe or Non-Thread Safe?
PHP 5.3.5 is available for download in either Thread Safe or Non-Thread Safe packages. This "what is?" question is generally second on the list for those about to download this server-side scripting software.
Thread Safe Vs Non-Thread Safe is the subject of programming for mulitcore and multiprocessor systems where we can slice up one instruction into multi instructions. Each of these new slices is called a thread of execution that can execute concurrently. Thus they thrive in, and offer vastly superior processing speed under suitable anarchistic environments.
However, depending on the skill (and I.Q.) of the coder, situations can arise. So, with speed as the sacrifice, thread safety seeks to reign in the anarchy to avoid situations such as Race Conditions (where different threads try to update the same global variable at the same time), Deadlock, Starvation etc. Most operating systems follow the Portable Operating System Interface for Unix (POSIX) standards which includes the subject of threading.
Yes, but which thread type should we download?
If you are using or wish to use PHP as an Apache Module under Windows, the only available option is the PHP Thread Safe download which technically speaking is also the correct choice. You would also ensure your chain of dependant programs and binaries you have Php use are threadsafe too by checking the appropriate documentation or forum boards for those programs or binaries. In this scenario, Apache will provide the correct MPM for threadsafety (more information is in our Apache 2.2.17 guide if needed).
If using PHP independently to run your CGI requests from Apache, both Thread Safe and Non-Thread Safe options are available.
So the final decision will be based on how you wish to setup your website. You may wish to review the differences between module and cgi set ups (appears later in the guide) before making a choice.
And another factor is that setting up a system to test your scripts before uploading them to a different web site can influence your installation decision. It is recommended you use the same setup found on that server. But how can you know what PHP Thread type your server is using? A simple and easy way to do this is to use a simple script like the phpinfo.php script which can be found in the article Which is my Website, Apache Mod PHP or Apache CGI?. The resulting information will let you know if Thread Safety is enabled or disabled on that site. If disabled, use the NTS version. Of course, this script will only work if PHP is already setup for use on that server (and that your server's php.ini has not been modified to disallow the viewing of it's config. data).
Verifying which ThreadSafety mode is in use with PHP info.
And so we find that ThreadSafe is used mostly for those using PHP 5.3.5 as an Apache module and NonThreadSafe for those running PHP 5.3.5 as Apache CGI
If you are free to choose which ever type you like, and are still unsure as to which is the best for your use, you may want to review the information found in the section named Apache CGI Vs Module (pg4) and is linked in our Install Guide Index.
Download the software:
An advantage of using the .msi installer method to configure PHP 5.3.5 is that it does a beautiful job of updating all php.ini settings as well as installing any run-time library files we might be missing. And depending on your final setup selection, you may not even need to edit the apache config file either. Best of all, we can restart the installer at any time to amend or expand on our installation (The .msi installer can also be simply configured to roll-out an install of php silently onto one or more computers). Also, because the PHP .msi installer is so effective in writing the php.ini, we are going to ignore the zip file download. The .zip file does not allow us the luxury of ignoring the php.ini file.
To get your Thread Safe or Non-Thread Safe Windows php 5.3.5 installer software, it is best to go the source website. Selecting either link will open a new window or tab and will take you to the exact spot on the downloads page where you will be able to select the current version you require. The .msi files are simply called installer.
(Note: These links are for achived php releases, if you want to download the newest release, use our newest guide - see Later Guide Versions list in the right hand column or use the list at the very top of this page.)
Simply directly Download and save the 5.3.5 microsoft installer file with one of these links from the official archives:
Or search the achives your self for the corect .msi file to download:
In the next page of this PHP tutorial, the website administrator begins the software installation part of the journey and learns how to successfully setup and install the PHP Hypertext Preprocessor files using the windows install so as PHP 5.3.5 will be correctly integrated with Apache 2.2 on a Microsoft Operating System.
After the install file is downloaded, you can continue with this instructional tutorial.