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
  • Прочитайте сообщения об ошибках :-)
atlaste
источник