web-dev-qa-db-fra.com

msvcr110.dll est absent d'une erreur informatique lors de l'installation PHP

J'essaye d'installer PHP (5.5). J'ai extrait le fichier Zip dans le dossier C:\php. Et j'ai également défini la variable système 'Path' sur C:\php. Mais lorsque j'ouvre la commande Invite et tape php j'obtiens une erreur en disant:

Le programme ne peut pas démarrer, car MSVCR110.dll est absent de votre ordinateur. Essayez de réinstaller le programme pour résoudre ce problème.

J'ai vérifié cette dll dans le répertoire C:\Windows\System32 Et j'ai pu localiser le fichier là-bas. Comment se débarrasser de cette erreur? Toute aide serait appréciée.

Merci d'avance.

49
Supereme

Vous devez installer les bibliothèques Visual C++: http://www.Microsoft.com/en-us/download/details.aspx?id=30679

Comme mentionné par Stuart McLaughlin, assurez-vous d’obtenir la version x86 même si vous utilisez un système d’exploitation 64 bits car PHP a besoin de bibliothèques 32 bits.

75
laurent

Le lien vers cette question apparaissant au-dessus des résultats renvoyés lorsque vous recherchez "php MSVCR110.dll" (pour ne pas mentionner qu'il a eu plus de 100 000 vues et qu'il était en croissance), ici ' Quelques notes supplémentaires que vous pourriez trouver utiles pour résoudre le mystère de MSVCR110.dll ...

L'approche décrite dans la réponse est valable non seulement pour le cas MSVCR110.dll, mais s'applique également lorsque vous recherchez d'autres versions, telles que newer MSVCR71.dll et j'ai mis à jour la réponse pour inclure VC15 même si cela sort du cadre précédent.


Sur http://windows.php.net/ vous pouvez lire:

VC9, VC11 et VC15

Les versions plus récentes de PHP sont construites avec VC9, VC11 ou VC15 (compilateur Visual Studio 2008, 2012 ou 2015 respectivement)) et incluent des améliorations des performances et de la stabilité.

Les versions de VC9 requièrent le redistribuable Visual C++ pour Visual Studio 2008 SP1 x86 ou x64 installé.

Les versions de VC11 requièrent le redistribuable Visual C++ pour Visual Studio 2012 x86 ou x64 installé.

Les versions de VC15 requièrent le redistribuable Visual C++ pour Visual Studio 2015 x86 ou x64 installé.

Ceci est très important car vous devez non seulement installer Visual C++ Redistributable, mais vous devez également disposer de la bonne version de celle-ci, et laquelle est correcte et correcte. , dépend de ce que PHP vous allez réellement utiliser. Faites attention à la version de PHP pour Windows que vous récupérez, faites particulièrement attention à cela " VCxx ", parce que si vous installez PHP qui nécessite VC9 alors que vous avez des redistribuables, VC11 est installé, il ne fonctionnera pas car la dépendance à l'exécution n'est tout simplement pas remplie. Contrairement à ce que certains pourraient penser, nécessite exactement la version requise, comme le font les versions les plus récentes (les plus récentes) [~ # ~] et non [~ # ~ ] couvre les versions plus anciennes (inférieures), de sorte que VC11 ne fournit pas de compatibilité VC9. De plus, VC15 ne remplit pas les dépendances VC11 ni VC9, mais VC15 et . RIEN D'AUTRE . Traitez-le :)

Par exemple, nom d'archive php-5.6.4-nts-Win32-VC11-x86 nous dit ce qui suit

enter image description here

  1. il fournit PHP v5.6.4,
  2. La construction de PHP est [~ # ~] n [~ # ~] le - [~ # ~] t [ ~ # ~] hread [~ # ~] s [~ # ~] afe ( nts ),
  3. il fournit des binaires pour Windows ( Win32 ),
  4. pour pouvoir exécuter Visual Studio 2012 redistribuable ( VC11 ) est requis,
  5. les binaires sont en 32 bits ( x86 ),

La plupart des recherches que j’ai conduites ont abouti à VC9 de redistribuables. Ainsi, en cas d’échec constant à faire fonctionner les choses, essayez si possible d’installer différents PHP build, pour voir si vous avez une chance de ne pas faire face à des versions incompatibles.


Liens de téléchargement

Notez que vous utilisez une version 32 bits de PHP, vous avez donc besoin d'un redistribuable 32 bits (x86) même si votre version de Windows est 64 bits!

  • VC9: Redistribuable Visual C++ pour Visual Studio 2008: x86 ou x64
  • VC11: Redistribuable Visual C++ pour Visual Studio 2012: x86 ou x64
  • VC15: Redistribuable Visual C++ pour Visual Studio 2015: x86 ou x64
  • VC17: Redistribuable Visual C++ pour Visual Studio 2017: x86 ou x64
36
Marcin Orlowski

Je suis sur un système 64 bits, et cela ne fonctionne qu'après avoir installé les versions 32 et 64 bits du redistribuable. Je n'ai pas essayé la version 64 bits en elle-même en raison des avertissements des autres affiches concernant l'utilisation de la version 32 bits (et je suis trop paresseux pour désinstaller la version 32 bits maintenant que je l'ai utilisée), je ne sais donc pas si la version 32 bits fonctionne correctement. Une version 32 bits est nécessaire ou non dans des cas comme le mien.

5
adavea

J'avais installé PHP dans IIS7 sur Windows Server 2008 R2 à l'aide du programme d'installation de Web Platform. Il ne fonctionnait pas immédiatement. J'ai dû installer Visual C++ Redistributable pour VS 2012 Update 4 (32 bits ) comme trouvé ici http://www.Microsoft.com/en-us/download/details.aspx?id=30679 .

0
Benjamin

Pour identifier quelle version x86/x64 de VC est nécessaire):

Accédez à IIS> Mappages de gestionnaires> cliquez avec le bouton droit de la souris, puis sélectionnez le chemin d'accès * .php. Dans la zone "Exécutable (facultatif)", notez dans quelle version de Program Files le fichier php-cgi.exe est installé. .

0
mateimcm

Il me manquait le MSVCR110.dll. Ce que j'ai corrigé. Je pourrais exécuter php à partir de la ligne de commande mais pas du serveur Web. Ensuite, j'ai cliqué sur php-cgi.exe et il m'a donné la réponse. Le php5.dll était manquant (j'ai téléchargé la copie incorrecte). Donc pour mon 2012 IIS box j'ai réinstallé en utilisant php x86 non thread sécurisé Zip.

0
captainhero70