msvcr110.dll is missing from computer error while installing PHP

后端 未结 6 1675
感情败类
感情败类 2021-01-31 07:44

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 co

6条回答
  •  迷失自我
    2021-01-31 08:08

    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 scope of the original question.


    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

    1. it provides PHP v5.6.4,
    2. PHP build is Non-Thread Safe (nts),
    3. it provides binaries for Windows (Win32),
    4. to run, Visual Studio 2012 redistributable (VC11) is required,
    5. 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

提交回复
热议问题