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


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

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

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

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

Версия PHP: 7.0. 0альфа1 Потокобезопасный VC14 x64

Author: Merlin04, 2015-06-12

8 answers

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

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 Studio2012 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 для разработчиков. Это не сработало.

(Я включаю их для удобства использования в Google.)

 211
Author: Adam Cameron, 2017-06-23 09:34:36

Http://go.microsoft.com/?linkid=9877240 (x32-разрядная версия) - Распространяемый RC Visual C++ 2015 Это должно исправить ситуацию. Вы можете поискать в Google, что такое DLL, но это не важно.

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

Где я его нашел: https://www.visualstudio.com/downloads/visual-studio-2015-downloads-vs

 19
Author: Thomas, 2015-06-12 21:19:35

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

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

 14
Author: Halcyon, 2016-02-23 13:29:07

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

 13
Author: Prakash N, 2016-04-11 13:10:29

Для таких вещей, как это, вы не продолжаете слепо нажимать "Далее', ' Следующий', ' Я Согласен'.

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

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

Пакеты VC9 (пакет обновления 1 для Visual C++ 2008) http://www.microsoft.com/en-us/download/details.aspx?id=5582 http://www.microsoft.com/en-us/download/details.aspx?id=2092

Пакеты VC10 (пакет обновления 1 для Visual C++ 2010) 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.

ВАЖНОЕ ПРИМЕЧАНИЕ: Обязательно запускайте все установки VC с правами администратора ( Щелкните правой кнопкой мыши ->Запуск от имени администратора). Просто пропустив этот маленький шаг, я потратил впустую весь свой день.

 10
Author: user3284463, 2017-08-01 12:07:47

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

 2
Author: Maq, 2016-02-02 09:27:18

Я получил ту же ошибку и обнаружил, что МОЙ VC 32-разрядный, Windows 64-разрядный, я попытался установить 32-разрядный Wamp 7 и проблема решена. Возможно, нам нужно установить 32-разрядную версию Wamp, если Visual Studio 32-разрядная. И наоборот.

 1
Author: Nandkishor Gokhe, 2017-07-21 06:40:43

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

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

  • Создайте небольшой файл (test.php ) со стандартным скриптом phpinfo()
  • Откройте командную строку
  • Запустите php вручную, используя небольшой файл, например'"\program files\php\php.exe " test.php
  • Прочитайте сообщения об ошибках:-)
 -2
Author: atlaste, 2015-12-23 14:37:59