2014-01-28 2 views
49

Я пытаюсь установить PHP (5.5). Я извлек zip-файл в папку C:\php. И я также установил системную переменную «Путь» в C:\php. Но когда я открыть окно командной строки и введите php я получаю ошибку говоря:msvcr110.dll отсутствует при ошибке компьютера при установке PHP

Программа не может начаться, потому что MSVCR110.dll отсутствует на компьютере. Попробуйте переустановить программу, чтобы исправить эту проблему.

Я проверил эту DLL в каталоге C:\Windows\System32, и я мог найти там файл. Как избавиться от этой ошибки? Любая помощь будет оценена по достоинству.

Спасибо заранее.

ответ

69

Вам необходимо установить библиотеки Visual C++: http://www.microsoft.com/en-us/download/details.aspx?id=30679

Как отметил Стюарт McLaughlin, убедитесь, что вы получите версию x86, даже если вы используете 64-битных ОС, поскольку PHP нуждается в 32-битные библиотеки.

+23

Убедитесь, что вы установили версию x86, даже если вы используете 64-разрядную ОС. PHP использует некоторые из 32-битных библиотек. –

+0

Большое спасибо! Пробовал много других вещей, но это то, что заставило его работать на меня –

+0

Большое спасибо .. Это работает. Я пробовал много способов разрешить эту ошибку, но это не так. – Hina

24

Поскольку ссылка на этот вопрос отображается в верхней части возвращенных результатов при поиске «php MSVCR110.dll» (не говоря уже о том, что он получил 100k + просмотров и растет), вот некоторые дополнительные примечания, которые могут найти удобно в ваших поисках решения MSVCR110.dll таинственности ...

подход, описанный в ответ справедливо не только для случая MSVCR110.dll, но также применяется, когда вы ищете другие варианты, как новый MSVCR71.dll и я обновил ответ, чтобы охватить VC15, даже если он выходит за рамки прежнего охвата.


На http://windows.php.net/ вы можете прочитать:

VC9, VC11 и VC15

Более поздние версии PHP построены с VC9, VC11 или VC15 (Visual Studio 2008 , 2012 или 2015) и включают в себя улучшения производительности и стабильности.

VC9 строит требуют, чтобы иметь Visual C++ Redistributable для Visual Studio SP1 x86 или x64 установлена.

VC11 сборки требуют, чтобы иметь Visual C++ Redistributable для установленной Visual Studio x86 или x64.

VC15 сборки требуют, чтобы иметь Visual C++ Redistributable для установленной Visual Studio x86 или x64.

это очень важно, поскольку вы не только должны иметь установленную Visual C++ Redistributable, но вам также нужны правильной версия из него, и который один является правильным, зависит от того, что PHP сборки вы действительно используете. Обратите внимание на то, какую версию PHP для Windows вы извлекаете, особенно обратите внимание на этот суффикс «VCxx», потому что, если вы устанавливаете PHP, который требует VC9 при наличии распространяемых VC11, он не будет работать, поскольку зависимость времени выполнения просто не заполняется. Вопреки тому, что некоторые могут подумать, вам нужна именно версия, требуемая, поскольку новые версии не включают/не предоставляют более старые (то есть VC11 не предоставляет VC9, а VC15 не выполняет зависимость от VC11 и VC9.

Например, архив имя php-5.6.4-nts-Win32-VC11-x86 говорит нам, что это не является поточно (NTS) строят, 32-бит (x86) и нуждается в Visual Studio 2012 распространяемый (VC11) для запуска.

Большинство поисков я сделал привести к VC9 перераспределителей, поэтому в случае постоянных сбоев в работе вещь, если возможно ible, попробуйте установить другую сборку PHP, чтобы убедиться, что вы случайно не сталкиваетесь с несоответствующими версиями.


Скачать ссылки

Обратите внимание, что вы используете 32-разрядную версию PHP, так что вам нужно 32-разрядный распространяемые (x86), даже ваша версия ОС Windows является 64 бит!

  • VC9: Visual C++ Redistributable для Visual Studio 2008: x86 или x64
  • VC11: Visual C++ Redistributable для Visual Studio 2012: x86 or x64
  • VC15: Visual C++ Redistributable для Visual Studio 2015: x86 or x64
+2

Отличное объяснение для перераспределения PHP и Vsual C++. Это мне очень помогает. – Hina

+0

Это должен быть принятый ответ, ИМХО. –

+0

OP не подписались здесь уже два года, поэтому не пересекайте пальцы, но вы всегда можете выдвигать ответ, как и большинство, независимо от неактивности OP. –

0

Мне не хватало MSVCR110.dll. Который я исправил. Я мог бы запустить php из командной строки, но не с веб-сервера. Затем я нажал на php-cgi.exe, и он дал мне ответ. Не удалось скачать файл php5.dll (я скачал неправильную копию). Таким образом, для моего 2012 IIS я заново установил с помощью php x86 non thread safe zip.

4

Я нахожусь в 64-битной системе, и я только получил это, чтобы работать после установки 32 и 64-разрядных версий распространяемого. Я не пробовал 64-разрядную версию сам по себе из-за предупреждений других плакатов об использовании 32-битной версии (и мне слишком ленив, чтобы удалить 32-битную версию сейчас, когда я ее работаю), поэтому я не знаю, 32-битная версия нужна или нет в таких случаях, как моя.

+1

Это тоже мое дело! Случилось со мной на окнах 7. – gsamaras

0

Чтобы определить, какие x86/x64 версии VC необходимо:

Перейти к IIS Manager> Сопоставления обработчиков> правой кнопкой мыши затем Edit * .php путь. В поле «Исполняемое (необязательное)» поле, в котором установлена ​​версия программного файла php-cgi.exe.

Смежные вопросы