I am trying to install PHP(5.5).
I extracted the zip file in C:\php
folder. And I also set the 'Path' system variable to C:\php
. But when I open command prompt and type php
I get error saying:
The program can't start because MSVCR110.dll is missing from your
computer. Try reinstalling the program to fix this problem.
I checked for this dll in C:\Windows\System32
directory and I could locate the file there.
How to get rid of this error?
Any help would be appreciated.
Thanks in Advance.
You need to install the Visual C++ libraries: http://www.microsoft.com/en-us/download/details.aspx?id=30679
As mentioned by Stuart McLaughlin, make sure you get the x86 version even if you use a 64-bits OS because PHP needs some 32-bit libraries.
Since link to this question shows up on very top of returned results when you search for "php MSVCR110.dll" (not to mention it got 100k+ views and growing), here're some additional notes that you may find handy in your quest to solve MSVCR110.dll mistery...
The approach described in the answer is valid not only for MSVCR110.dll case but also applies when you are looking for other versions, like newer MSVCR71.dll
and I updated the answer to include VC15 even it's beyond former scope.
On http://windows.php.net/ you can read:
VC9, VC11 and VC15
More recent versions of PHP are built with VC9, VC11 or VC15
(Visual Studio 2008, 2012 or 2015 compiler respectively) and include
improvements in performance and stability.
The VC9 builds require you to have the Visual C++ Redistributable for
Visual Studio 2008 SP1 x86 or x64 installed.
The VC11 builds require to have the Visual C++ Redistributable for
Visual Studio 2012 x86 or x64 installed.
The VC15 builds require to have the Visual C++ Redistributable for
Visual Studio 2015 x86 or x64 installed.
This is quite crucial as you not only need to get Visual C++ Redistributable installed but you also need the right version of it, and which one is right and correct, depends on what PHP build you are actually going to use. Pay attention to what version of PHP for Windows you are fetching, especially pay attention to this "VCxx" suffix, because if you install PHP that requires VC9 while having redistributables VC11 installed it is not going to work as run-time dependency is simply not fulfilled. Contrary to what some may think, you need exactly the version required, as newer (higher) releases does NOT cover older (lower) versions. so i.e. VC11 is not providing VC9 compatibility. Also VC15 is neither fulfilling VC11 nor VC9 dependency. It is just VC15 and NOTHING ELSE. Deal with it :)
For example, archive name php-5.6.4-nts-Win32-VC11-x86
tells us the following
- it provides PHP v5.6.4,
- PHP build is Non-Thread Safe (nts),
- it provides binaries for Windows (Win32),
- to run, Visual Studio 2012 redistributable (VC11) is required,
- binaries are 32-bit (x86),
Most searches I did lead to VC9 of redistributables, so in case of constant failures to make thing works, if possible, try installing different PHP build, to see if you by any chance do not face mismatching versions.
Download links
Note that you are using 32-bit version of PHP, so you need 32-bit redistributable (x86) even if your version of Windows is 64-bit!
- VC9: Visual C++ Redistributable for Visual Studio 2008: x86 or x64
- VC11: Visual C++ Redistributable for Visual Studio 2012: x86 or x64
- VC15: Visual C++ Redistributable for Visual Studio 2015: x86 or x64
- VC17: Visual C++ Redistributable for Visual Studio 2017: x86 or x64
I am on a 64 bit system, and I only got this to work after installing both the 32 and 64 bit versions of the redistributable. I did not try the 64 bit version by itself due to the other posters' warnings about using the 32 bit version (and am too lazy to uninstall the 32 bit version now that I have it working), so I don't know if the 32 bit version is needed or not in cases like mine.
I was missing the MSVCR110.dll. Which I corrected. I could run php from the command line but not the web server. Then I clicked on php-cgi.exe and it gave me the answer. The php5.dll was missing (I downloaded the wrong copy). So for my 2012 IIS box I re-installed using php's x86 non thread safe zip.
To identify which x86/x64 version of VC is needed:
Go to IIS Manager > Handler Mappings > right click then Edit *.php path.
In the "Executable (optional)" field note in which version of Program Files is the php-cgi.exe installed.
I had installed PHP in IIS7 on Windows Server 2008 R2 using the Web Platform Installer. It did not work out of the box. I had to install the Visual C++ Redistributable for VS 2012 Update 4 (32bit) as found here http://www.microsoft.com/en-us/download/details.aspx?id=30679 .