PHP 7: отсутствует VCRUNTIME140.dll


168

У меня ошибка при запуске PHP 7 в Windows. Когда я запускаю phpв командной строке, он возвращает окно сообщения с системной ошибкой:

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

После этого CLIпроисходит сбой.

Поскольку я не хочу устанавливать файл DLL с внешнего сайта, я не знаю, как это исправить!

Версия PHP: 7.0.0alpha1 VC14 x64 Thread Safe


8
Номинация для повторного открытия на этой основе: «они напрямую связаны с инструментами, используемыми в основном для программирования». Что верно в этом вопросе.
Адам Кэмерон

даже та же проблема со мной моя VC6 x84, но не может установить Wampserver. Я искал по всему Google. Пожалуйста, помогите мне.
Паван Бадди

@Pavan Baddi - у меня тоже были проблемы с некоторыми версиями VC, не работающими с моим WAMP. Установленный распространяемый Visual C ++ для Visual Studio 2012 x64 и x86 (запускается с правами администратора) вместе с Wampserver x64 3.0.6, и теперь он работает.
user1228907

Решение здесь: stackoverflow.com/questions/34482393/vcruntime140-dll-missing исправить это для меня
Angel115

Ответы:


228

На боковой панели страницы загрузки альфа- версии PHP 7 говорится следующее:

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

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

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

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

С некоторыми из этих ссылок возникла проблема, поэтому файлы также доступны в Softpedia .

В случае PHP 7 alpha это последний требуемый вариант.

Я думаю, что размещение этой информации оставляет желать лучшего, так как она как бы маргинализована (то есть: в основном она буквально на полях!), В то время как на самом деле важно, чтобы программное обеспечение работало.

Я задокументировал свой опыт запуска PHP 7 alpha и его запуска на Windows 8.1 в PHP: запуск PHP 7 alpha на Windows 8.1 , и он охватывает еще некоторые симптомы, которые могут возникнуть. Они выходят за рамки этого вопроса, но могут помочь другим людям.

Другой симптом этой проблемы:

  • Apache не запускается, претензии php7apache2_4.dllотсутствуют, несмотря на то, что он определенно существует, и не предлагают ничего другого в любом журнале.
  • php-cgi.exe - The FastCGI process exited unexpectedly (согласно комментарию @ ftexperts ниже)

Попытка решения:

  • Использование php7apache2_4.dllфайла из более ранней сборки PHP 7 dev. Это не сработало.

(Я включил те для googleability.)


Другой признак в IIS7: «php-cgi.exe - процесс FastCGI неожиданно
завершился

Ни одна из ссылок на скачивание microsoft.com не работает для меня (ошибка тайм-аута шлюза). Альтернативные зеркала находятся здесь: softpedia.com/get/Programming/Components-Libraries/…
rybo111

@ rybo111 Я думаю, что это был переходный процесс или проблема с твоей стороны? Они в порядке для меня (не проверял все из них). Но я полагаю, что добавлю вашу ссылку в качестве альтернативы ответу! Приветствия.
Адам Кэмерон

Я устанавливаю почти все версии, но получаю ту же ошибку VCRUNTIME140.dll, когда я устанавливаю версию 2015 Обновление RC 2. Ошибка ошибки .dll может помочь кому-то еще
Naveed

1
текущая ссылка для загрузки microsoft.com/en-us/download/details.aspx?id=52685
mdo123

25

Распространяемый Visual C ++ для Visual Studio 2015 (32-разрядная версия) - RC.

Это должно исправить это. Вы можете Google за то , что DLL является , но это не важно.

PS: это тоже официально от Microsoft :)

Где я его нашел: Загрузки (Visual Studio)


Я гуглю DLL, но не нашел. Я попробую этот пакет.
Феликс Дежарден

4
Возможно, лучшая ссылка для 32- и 64-разрядных дистрибутивов: microsoft.com/en-us/download/details.aspx?id=46881
Адам Кэмерон

17

Установка vc_redist.x86.exe работает для меня, даже если у вас 64-битный компьютер.


это должно быть в комментариях, а не в ответе
Усман Макбул

@AdamCameron уже дал эту ссылку. Пожалуйста, добавьте комментарий к его ответу и скажите, что сработало для вас.
Феликс Дежардинс

Я использую 32-битную версию vc_redist.x86.exe, хотя у меня 64-я платформа (win10)
Edang Jeorlie

14

Если вы следовали инструкциям Адама и по- прежнему получаете эту ошибку, убедитесь, что вы установили правильные варианты (x86 или x64).

У меня был VC14x64 с PHP7x86, и я все еще получил эту ошибку. Изменение PHP7 на x64 исправило это. Легко не заметить, что вы случайно установили не ту версию.


11

Для подобных вещей вы не должны слепо нажимать « Далее », « Далее » и « Я согласен ».

WAMP информирует вас об этом во время и до установки:

Динамические библиотеки MSVC VC9, VC10, VC11 необходимы для Wampserver 2.4, 2.5 и 3.0, даже если вы используете только версии Apache и PHP с VC11. Среды выполнения VC13, VC14 требуются для PHP 7 и Apache 2.4.17

Пакеты VC9 (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 (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 (обновление 4 для Visual C ++ 2012) Два файла VSU4 \ vcredist_x86.exe и VSU4 \ vcredist_x64.exe, которые нужно загрузить, находятся на одной странице: http://www.microsoft.com/en-us/download/details. ASPX? ID = 30679

Пакеты VC13] (Visual C ++ 2013 [) Два файла VSU4 \ vcredist_x86.exe и VSU4 \ vcredist_x64.exe для загрузки находятся на одной странице: https://www.microsoft.com/en-us/download/details. ASPX? ID = 40784

Пакеты VC14 (Visual C ++ 2015) Два файла vcredist_x86.exe и vcredist_x64.exe для загрузки находятся на одной странице: http://www.microsoft.com/en-us/download/details.aspx?id=48145

Вы должны установить как 32- разрядную, так и 64-разрядную версии , даже если вы не используете 64-разрядную версию Wampserver.

ВАЖНОЕ ПРИМЕЧАНИЕ . Обязательно запустите все установки Microsoft Visual C ++ с правами администратора (щелкните правой кнопкой мыши → Запуск от имени администратора ). Просто пропустить этот маленький шаг впустую весь мой день.


1
Я не могу редактировать ваше сообщение, но для пользователей wamp , можете обратиться к этому wampserver.aviatechno.net. Существует инструмент проверки, чтобы проверить, установлены ли все пакеты VC. В дополнение к пакетам, упомянутым в @ user3284463, должен быть установлен пакет обновления для системы безопасности ATL Visual C ++ 2008 SP1. Пакет и Visual C ++ 2008 SP1 Обновление безопасности MFC Redist. Пакет. Вся необходимая информация находится по ссылке выше.
Георгиос

3

У меня была такая же проблема при установке Robot Framework 2.9.2 с использованием версии установщика Windows для Windows 7.

Я мог бы решить эту проблему, установив сборки VC14, для которых требуется установить «Распространяемый Visual C ++ для Visual Studio 2015 x86 или x64» с веб-сайта Microsoft .


1

Я получил ту же ошибку и обнаружил, что мой Microsoft Visual C ++ является 32-разрядным, а Windows - 64-разрядным. Я попытался установить WAMP 7 32 бит, и проблема была решена.

Может быть, нам нужно установить WAMP 32 бит, если Visual Studio 32 бит. И наоборот.


-4

Обычно это ошибка в вашей конфигурации PHP.

На самом деле довольно легко понять, что именно происходит:

  • Создайте небольшой файл (test.php) с помощью стандартного скрипта phpinfo ()
  • Откройте командную строку
  • Запустите php вручную, используя небольшой файл, например, «\ program files \ php \ php.exe» test.php
  • Прочитайте сообщения об ошибках :-)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.