(php 5.3.6 Page 2 of 7)
A Self Paced PHP5 Certification Course for under $15* per month! Enroll NOW!
PHP 5.3.6 VC6 or VC9, Which version to download and use?
When looking to install PHP 5.3.6 VC6 or VC9, Apache users should ensure they have read and understand the opening paragraphs found on page one of this guide before installing this version of Php. We need to give this subject a little air time in this particular guide as this is a bold move by Windows Php Net. Without an official nod from the Windows compilation team at Apache Software Foundation (ASF), this release of a VC9 only version for all Windows-Php users is sure to generate some lively discussions and raise some eyebrows amongst various Tech's on many Apache / Php bulletin boards, blogs and user groups. An ASF endorsement for any VC9 build would surely make the decision for structural change in many Tech Departments of online organizations a lot easier. See our notes below for more on Php's stance on this subject.
This new Php 5.3.6 release is available only as a 32bit x86 VC9 compilation. The VC number is the technical reference given to show the version of Visual c++ that was used to compile the PHP .msi installer package etc. into it's final distributive state. The only Php VC6 compiled version released on the 22-Mar-2011 was for the 5.2x series, not the 5.3x series.
The last official 32bit x86 VC6 5.3x compiled release is Php 5.3.5. Each of our earlier guides (see link in right hand column) includes access to download the correct Php file required for a standard apache VC6 installation to suit official apache.org downloads. Those who use VC6 compiled third party add-on software or binaries with their Php software should also ensure these are VC9 compatible before installing and using versions PHP 5.3.6 or PHP 5.4x. (see also: VC9 builds for non-official Apache HTTP Server installation notes below)
An alpha1 version of PHP 5.4.0 (VC9 only) has also now become available. Apache 2.3 is available in it's beta form ahead of it's GA (general) release as apache 2.4.
VC9 Microsoft IIS Server (and some non apache.org installers)
VC9 Php 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 may include an .msi installer which needs to be manually started to ensure these required files are installed on your system. Google, download and install vcredist_x86.exe (or vcredist_x64.exe for 64 bit users) if you are uncertain if the correct library is installed on your computer.
The experimental VC9 x64 is currently being tested, and 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 VC6 x86, or VC8 x86 | VC8 x64, and VC9 x86 | VC9 x64 here if you require further data on these binaries (*see note below).
(*Note: The official PHP resources page for these compile-your-own downloads has been down since March 19, 2011, we will remove this note when they are back up and running. Some resources are again available through above page link).
VC6 builds for official Apache HTTP Server (Windows) installation
The VC6 Php downloads require no further downloads for Runtime Library Support and are good to go as soon as you download the file.
VC6 builds are suitable for Apache or other third party Microsoft Windows compatible software (and/or extensions) that have been compiled using Microsoft's Visual C++ 6 compiler.
Important note for users of www.apache.org versions apache HTTP Server software for Microsoft Windows:
The PHP 5.3.6 and newer releases are only available as a VC9 download.
If you are using the official Apache 2.2.19 (or earlier) Windows version download from the official Apache website, then you are using a VC6 compiled version of apache. It is strongly recommended you download and use one of the earlier Php VC6 versions which are accessible through any of our earlier Php 5.3.x guides. Links to these earlier guides are found at the very top or in the right side column of this page
VC9 builds for non-official Apache HTTP Server installation
Apache has yet to release an official VC9 compilation for use with Windows Software. Please see the notes above if you have not already done so.
However, if you want to run apache and must use a PHP VC9 download, you will need a Visual Studio C++ 9 compiled version of the Apache HTTP server software. The Windows-PHP site recommends you download, install and use an apache VC9 build as found on the informative ApacheLounge website if this is your intention.
Of course any third party apache or php software you would also plan to use must be compiled or compatible with Visual Studio C++ 9 runtime libraries. The remainder of this guide assumes a VC9 Apache installation.
PHP 5.3.6 Thread Safe or Non-Thread Safe?
PHP 5.3.6 is available for download in either Thread Safe or Non-Thread Safe packages. This "what is?" question is generally next 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.
This is done by selecting the Apache2.2.x Module during the Web Server Setup step, the installer will then know to copy the required php5apache2_2.dll to the computer. This is the apache module and is why you need to let the Php Installer know where your Apache Config File is located. Php might think the file missing if apache's conf folder is not correctly pointed.
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.19 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.
[Back to PHP 5.3.6 Install Guide Index]
My website already runs Php, this install is for a test system setup.
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.6 as an Apache module and NonThreadSafe for those running PHP 5.3.6 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.6 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.6 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: The first two links are currently linked to download the php 5.3.8 version files. Download one of these first two files if you are installing the latest version of Php for windows.
Or for Php 5.3.6 Download and save the microsoft installer file with one of these links directly from the Php archives::
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.6 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.