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, і він працює зараз.
користувач1228907

Вирішення тут: 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, це останній варіант, який необхідний.

Я вважаю, що розміщення цієї інформації є поганим, оскільки вона є маргіналізованою (тобто це в основному буквально на межі!), Тоді як програмне забезпечення насправді є критичним для роботи програмного забезпечення.

Я задокументував мій досвід отримання PHP 7 альфа та запуску в Windows 8.1 в PHP: отримання PHP7 альфа працює в Windows 8.1 , і він охоплює ще деякі симптоми, які можуть з’явитися. Вони не входять у це питання, але можуть допомогти іншим.

Інший симптом цього питання:

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

Спроба рішення:

  • Використання php7apache2_4.dllфайлу з попередньої версії PHP 7 dev build. Це не вийшло.

(Я включаю ті, що стосуються googleability.)


Ще один симптом IIS7: "php-cgi.exe - процес FastCGI несподівано завершився"
ftexperts

Жодна із посилань на завантаження з microsoft.com не працює на мене (помилка тайм-аута шлюзу). Альтернативні дзеркала тут: softpedia.com/get/Programming/Components-Libraries / ...
rybo111

@ rybo111 Я думаю, що це було тимчасовим або проблемою на вашому кінці? Вони для мене гаразд (не перевіряв усіх). Але я думаю, я додамо ваше посилання як альтернативу до відповіді! Ура.
Адам Кемерон

Я встановити майже кожну версію , але отримати той же VCRUNTIME140.dll помилки при установці версії 2015 Оновлення RC 2 .dll помилки піти, може допомогти кому - то ще
Навід

1
поточне посилання для завантаження microsoft.com/en-us/download/details.aspx?id=52685
mdo123

25

Передача для Visual C ++ для Visual Studio 2015 (версія x32) - RC.

Це має виправити це. Ви можете Google за те , що DLL є , але це не важливо.

PS: Офіційно це теж від Microsoft :)

Де я його знайшов: Завантаження (Visual Studio)


Я google DLL, але не знайшов. Я спробую цю пачку.
Фелікс Десярдіньс

4
Можлива краща посилання для 32- та 64-розрядних дистрибутивів: microsoft.com/en-us/download/details.aspx?id=46881
Адам Камерон

17

Установка vc_redist.x86.exe працює для мене, навіть якщо у вас 64-розрядна машина.


це має бути у коментарі не відповідати
Usman

@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 (Visual C ++ 2012 Update 4) Два файли 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, слід встановити Visual C ++ 2008 SP1 ATL Red Update Update Redist. Пакет та Visual C ++ 2008 SP1 MFC Безпека оновлення Redist. Пакет. Вся необхідна інформація знаходиться за посиланням вище.
georgeos

3

У мене була така ж проблема при установці Robot Framework 2.9.2 за допомогою версії інсталятора Windows на Windows 7.

Я міг би вирішити це, встановивши збірки VC14, потрібно встановити "Visual C ++ Redistributable for 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 вручну, використовуючи невеликий файл, наприклад, "" \ програмні файли \ php \ php.exe "test.php
  • Прочитайте повідомлення про помилки :-)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.