PHP 7: Missing VCRUNTIME140.dll
Solution 1:
On the side bar of the PHP 7 alpha download page, it does say this:
VC9, VC11 & VC14 More recent versions of PHP are built with VC9, VC11 or VC14 (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 VC14 builds require to have the Visual C++ Redistributable for Visual Studio 2015 x86 or x64 installed
There's been a problem with some of those links, so the files are also available from Softpedia.
In the case of the PHP 7 alpha, it's the last option that's required.
I think that the placement of this information is poor, as it's kind of marginalized (i.e.: it's basically literally in the margin!) whereas it's actually critical for the software to run.
I documented my experiences of getting PHP 7 alpha up and running on Windows 8.1 in PHP: getting PHP7 alpha running on Windows 8.1, and it covers some more symptoms that might crop up. They're out of scope for this question but might help other people.
Other symptom of this issue:
- Apache not starting, claiming
php7apache2_4.dll
is missing despite it definitely being in place, and offering nothing else in any log. -
php-cgi.exe - The FastCGI process exited unexpectedly
(as per @ftexperts's comment below)
Attempted solution:
- Using the
php7apache2_4.dll
file from an earlier PHP 7 dev build. This did not work.
(I include those for googleability.)
Solution 2:
Visual C++ Redistributable for Visual Studio 2015 (x32 bit version) - RC.
This should correct that. You can google for what the DLL is, but that's not important.
PS: It's officially from Microsoft too:)
Where I found it: Downloads (Visual Studio)
Solution 3:
Installing vc_redist.x86.exe works for me even though you have a 64-bit machine.
Solution 4:
If you've followed Adam's instructions and you're still getting this error make sure you've installed the right variants (x86 or x64).
I had VC14x64 with PHP7x86 and I still got this error. Changing PHP7 to x64 fixed it. It's easy to miss you accidentally installed the wrong version.
Solution 5:
For things like this, you don't blindly keep clicking 'Next', 'Next', and 'I Agree'.
WAMP informs you about this during and before installation:
The MSVC runtime libraries VC9, VC10, VC11 are required for Wampserver 2.4, 2.5 and 3.0, even if you use only Apache and PHP versions with VC11. Runtimes VC13, VC14 is required for PHP 7 and Apache 2.4.17
VC9 Packages (Visual C++ 2008 SP1) http://www.microsoft.com/en-us/download/details.aspx?id=5582 http://www.microsoft.com/en-us/download/details.aspx?id=2092
VC10 Packages (Visual C++ 2010 SP1) http://www.microsoft.com/en-us/download/details.aspx?id=8328 http://www.microsoft.com/en-us/download/details.aspx?id=13523
VC11 Packages (Visual C++ 2012 Update 4) The two files VSU4\vcredist_x86.exe and VSU4\vcredist_x64.exe to be download are on the same page: http://www.microsoft.com/en-us/download/details.aspx?id=30679
VC13 Packages] (Visual C++ 2013[) The two files VSU4\vcredist_x86.exe and VSU4\vcredist_x64.exe to be download are on the same page: https://www.microsoft.com/en-us/download/details.aspx?id=40784
VC14 Packages (Visual C++ 2015) The two files vcredist_x86.exe and vcredist_x64.exe to be download are on the same page: http://www.microsoft.com/en-us/download/details.aspx?id=48145
You must install both 32 and 64bit versions, even if you do not use Wampserver 64 bit.
IMPORTANT NOTE: Be sure to to run all Microsoft Visual C++ installations with administrator privileges (right click → Run as Administrator). Just missing this small step wasted my entire day.