PHP 7: Отсутствует VCRUNTIME140.dll
У меня ошибка при запуске PHP 7 в Windows. Когда я запускаю php
в командной строке, он возвращает окно сообщения с системной ошибкой:
Программа не может запуститься, потому что VCRUNTIME140.dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы устранить эту проблему.
После этого CLI
происходит сбой.
Поскольку я не хочу устанавливать DLL-файл с внешнего веб-сайта, я не знаю, как это исправить!
Версия PHP: 7.0. 0альфа1 Потокобезопасный VC14 x64
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.)
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
Если вы следовали инструкциям Адама, и вы все еще получаете эту ошибку, убедитесь, что вы установили правильные варианты (x86 или x64).
У меня был VC14x64 с PHP7x86, и я все еще получал эту ошибку. Изменение PHP7 на x64 исправило это. Легко пропустить, что вы случайно установили неправильную версию.
Установка vc_redist.x86.exe работает для меня, даже если у вас 64-разрядная машина.
Для таких вещей, как это, вы не продолжаете слепо нажимать "Далее', ' Следующий', ' Я Согласен'.
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 с правами администратора ( Щелкните правой кнопкой мыши ->Запуск от имени администратора). Просто пропустив этот маленький шаг, я потратил впустую весь свой день.
У меня была такая же проблема при установке robot-framework-2.9.2 с использованием версии установщика Windows в Windows 7. Я мог бы решить эту проблему, установив сборки VC14, для которых требуется установить "Распространяемый Visual C++ для Visual Studio 2015 x86 или x64" с веб-сайта Microsoft.
Я получил ту же ошибку и обнаружил, что МОЙ VC 32-разрядный, Windows 64-разрядный, я попытался установить 32-разрядный Wamp 7 и проблема решена. Возможно, нам нужно установить 32-разрядную версию Wamp, если Visual Studio 32-разрядная. И наоборот.
Обычно это ошибка в вашей конфигурации PHP.
На самом деле довольно легко понять, что именно происходит:
- Создайте небольшой файл (test.php ) со стандартным скриптом phpinfo()
- Откройте командную строку
- Запустите php вручную, используя небольшой файл, например'"\program files\php\php.exe " test.php
- Прочитайте сообщения об ошибках:-)