it-swarm.com.ru

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

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

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

После этого CLI падает.

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

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

162
Félix Desjardins

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

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

  • Для сборки VC9 требуется наличие распространяемого пакета Visual C++ для Visual Studio 2008 SP1 x86 или x64

  • В сборках VC11 необходимо установить распространяемый пакет Visual C++ для Visual Studio 2012 x86 или x64

  • В сборках VC14 необходимо установить распространяемый пакет Visual C++ для Visual Studio 2015 x86 или x64 .

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

В случае альфа PHP 7 это последний параметр, который требуется.

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

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

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

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

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

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

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

220
Adam Cameron

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

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

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

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

22
Thomas

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

16
Prakash N

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

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

14
Halcyon

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

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=5582http://www.Microsoft. ком/EN-US/скачать/details.aspx? ID = 2092

Пакеты VC10 (Visual C++ 2010 SP1) http://www.Microsoft.com/en-us/download/details.aspx?id=8328http://www.Microsoft. ком/EN-US/скачать/details.aspx? ID = 1352

Пакеты VC11 (обновление 4 для Visual C++ 2012) Два файла VSU4\vcredist_x86.exe и VSU4\vcredist_x64.exe для загрузки находятся на одной странице: http://www.Microsoft.com/en-us/ скачать/details.aspx? ID = 30679

Пакеты VC13] (Visual C++ 2013 [) Два файла VSU4\vcredist_x86.exe и VSU4\vcredist_x64.exe, которые необходимо загрузить, находятся на одной странице: https://www.Microsoft.com/en-us/ скачать/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-битные версии , даже если вы не используете Wampserver 64 bit.

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

10
Rust

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

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

2
Maq

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

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

1
Nandkishor Gokhe