(php 5.3.3 Page 2 of 7)
A Self Paced PHP5 Certification Course for under $15* per month! Enroll NOW!
Which PHP 5.3.3 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 is 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 resultant compiled files are not the same so the 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 (More data regarding VC9 and Apache has been introduced in our 5.3.6 guide).
These 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 2008 C++ Runtime Libraries are installed for the operating system, either;
- x86 [32bit] (vcredist_x86.exe) or
- x64 [64bit] (vcredist_x64.exe).
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 available as a general public release at this time. Various versions are available through persistent google search. Bear in mind that if you do find and use it, you may need to re-write or patch your code should it be officially released.
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.
(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. )
As this guide expands on our Apache 2.2 installation on Windows, we will download the recommended VC6 build for our server.
PHP 5.3.3 Thread Safe or Non-Thread Safe?
PHP 5.3.3 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. Depending on the skill of the coder, situations can arise.
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 use 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 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.
Verifying which ThreadSafety mode is in use with PHP info.
And so we find that TS is used mostly for those using PHP 5.3.3 as an Apache module and NTS for those running PHP 5.3.3 as Apache CGI (and Apache CGI will require a text edit to our httpd.conf file under either installation method and will be explained in our testing section). It is simple to change the install type if you change your mind at a later date.
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.3 is that it does a beautiful job of updating all php.ini settings. 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.3 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.3 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.3 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.