web-dev-qa-db-fra.com

extension intl: installation de php_intl.dll

J'essaie de localiser php_intl.dll et de l'installer.

Est-ce que quelqu'un a des conseils?

72
David

Les paquets sur http://windows.php.net/download/ contiennent tous le php\_intl.dll qui se trouve dans le sous-répertoire ext/.
Tout ce que vous avez à faire est de vérifier si votre extension_dir pointe vers le bon répertoire et d’ajouter (ou de ne pas commenter) la directive extension=php\_intl.dll.

55
VolkerK

Pour que l'extension php_intl.dll fonctionne correctement, vous devez disposer les fichiers suivants dans un dossier de votre PATH:

  • icudt36.dll
  • icuin36.dll
  • icuio36.dll
  • icule36.dll
  • iculx36.dll
  • icutu36.dll
  • icuuc36.dll

Par défaut, ils se trouvent dans votre répertoire PHP, mais ce répertoire ne se trouve pas nécessairement dans votre PATH (ce n'était pas pour moi, avec xampp)

Cela doit être dans votre chemin global, pas seulement le chemin de votre utilisateur. Pour définir le chemin global, allez à info système (windows key + PAUSE), puis Paramètres système avancés (Vista +) ou Avancé (XP), cliquez sur le bouton "Variables d’environnement" et ajoutez le répertoire approprié à la variable PATH dans la liste des variables système.

90
Jeremy Warne

XAMPP 1.8.3-0 et PHP 5.5.0 sont installés.

1) edit php.ini:

de 

;extension=php_intl.dll

à 

extension=php_intl.dll

Remarque: Après la modification, vous devez enregistrer le fichier (php.ini) et redémarrer le serveur Apache.

2) Copiez simplement tous les fichiers icu * * * * .dll files:

de 

C:\xampp\php

à

C:\xampp\Apache\bin

Alors l'extension intl fonctionne !!!

56
user2650636

Avait le même problème ... J'ai trouvé les fichiers nécessaires en recherchant icu * * .dll sur mon lecteur et trouvé ceux énumérés ci-dessus, mais avec 46 au lieu de 36 dans le dossier php. Je les ai copiés dans le fichier Apache/bin et j'ai essayé de démarrer Apache et le processus a finalement commencé. Sur la page Vérifications du serveur, il est maintenant passé du contrôle jaune au vert OK. J'espère que cela t'aides.

15
Matthew

Si vous lisez le message d'erreur, "icuuc36.dll" est manquant ... Le problème est que vous n'avez pas le répertoire PHP dans votre PATH, ou vous pouvez copier tous les fichiers "intl" du répertoire php vers Apache\bin directory . Ce sont: Icudt36.dll Icuin36.dll Icuio36.dll Icule36.dll Iculx36.dll Icutu36.dll icuuc36.dll

9
Max Gebert

J'ai PHP 5.3.1 et Apache 

Lorsque j'ajoute le extension=php_intl.dll à php.ini et que je redémarre Apache, une alerte s'affiche: "l'opération demandée a échoué". 

Et cette erreur sur Event Monitor:

Faulting application name: httpd.exe, version: 2.2.14.0, time stamp: 0x4ac181d6
Faulting module name: php5ts.dll, version: 5.3.1.0, time stamp: 0x4b051b35
Exception code: 0xc0000005

Le problème était que certaines DLL comme icudt36.dll étaient manquantes (remarqué avec sysinternals ProcMon), j'ai téléchargé la version PHP 5.3.1 Zip et extrait toutes les DLL dans le dossier PHP. Cela a résolu le problème.

3
flog

Pour WampServer 2.5 ( Apache 2.4.9 et PHP 5.5.12 ):

Dans par défaut J'ai eu php_intl enabled (vous pouvez l’activer quand vous left click on the wamp icon in the system tray > PHP > PHP extensions et vérifier s’il est marqué)

Pour que cela fonctionne correctement, j'ai dû copier :

C:\wamp\bin\php\php5.5.12\icu ** 51.dll

(total 8 fichiers)

à

C:\wamp\bin\Apache\apache2.4.9\bin

Ensuite, redémarrez le wamp et tout allait bien.

3
davedavee

J'ai IIS 7 et PHP installé à l'aide de Microsoft Web Platform Installer sous Windows 7. Sous IIS, accédez à PHP dans la page principale des paramètres -> Extensions PHP -> Activer ou Désactiver une extension . L'extension Intl est désactivée par défaut.

J'espère que ça aide

2
Johan Marchan

J'ai résolu ce problème en ajoutant le répertoire PHP à la variable PATH . Je viens d'ajouter le code ;C:\xampp\php à la variable Path dans les variables d'environnement Windows.

2
Mehdi Karamosly

Lorsque j'ai rencontré ce problème, le problème a été résolu en utilisant les étapes mentionnées ci-dessous:

Éditez php.ini:

Faire 

; extension = php_intl.dll à

extension = php_intl.dll Copiez simplement tous les fichiers icu * * * * .dll (tous les fichiers icu ayant l’extension dll) de

C:\xampp\php à C:\xampp\Apache\bin

Aussi, si vous avez l'erreur de fichier manquante msvcp110.dll. Vous devez télécharger le bon fichier .dll ou simplement aller ici http://www.Microsoft.com/es-es/download/confirmation.aspx?id=30679 et installer vcredist_x64.exe et vcredist_x86.exe.

Maintenant, l'extension intl devrait fonctionner :-)

1
Bhupesh Kathuria

Si vous avez l'erreur de fichier manquante msvcp110.dll. Vous devez télécharger le bon fichier .dll ou simplement aller ici http://www.Microsoft.com/es-es/download/confirmation.aspx?id=30679 et installer vcredist_x64.exe et vcredist_x86.exe, cela a fonctionné pour moi.

1
Dazag

Vous pouvez taper cette commande dans le terminal: Sudo apt-get install php-intl

0
Sara Vaseei

Il y a une meilleure façon de faire cela.  

J'avais le même genre de problème avec les extensions ldap, intl, curl php. J'ai résolu ces problèmes par les moyens suivants:

Au début, vous devez vérifier si ces extensions ont été activées dans le fichier php.ini en supprimant le point-virgule (;) devant les lignes suivantes:

;extension=php_intl.dll
;extension=php_ldap.dll
;extension=php_curl.dll

Vous pouvez maintenant charger directement les fichiers dll nécessaires (par exemple, libeay32, libssh2, ssleay32, icu ** .dll) depuis votre fichier httpd.conf (fichier de configuration Apache). Vous n'avez pas besoin de faire autre chose, comme les copier dans le répertoire bin d'Apache ou dans le répertoire ext de php. Il suffit de les ajouter directement dans le fichier httpd.conf de votre Apache. 

Veuillez noter que l'exemple suivant est pour la version 5.5.x de PHP.

LoadFile  "C:/php/icudt51.dll"
LoadFile  "C:/php/icuin51.dll"
LoadFile  "C:/php/icuio51.dll"
LoadFile  "C:/php/icule51.dll"
LoadFile  "C:/php/iculx51.dll"
LoadFile  "C:/php/icutest51.dll"
LoadFile  "C:/php/icutu51.dll"
LoadFile  "C:/php/icuuc51.dll"

LoadFile  "C:/php/libeay32.dll"
LoadFile  "C:/php/libssh2.dll"
LoadFile  "C:/php/ssleay32.dll"

C'est tout. Maintenant, redémarrez votre Apache ou Wamp et vous êtes prêt à partir. 

0
asmmahmud

J'avais du mal à utiliser intl avec PHP 7.1.7 et PhpStorm sous Windows 10. D'après d'autres réponses, je pourrais dire qu'il s'agissait d'un problème de dépendance PATH/DLL, mais je n'arrivais pas à trouver tous les fichiers requis même après l’installation ou la réinstallation de Visual C++ Redistributable.

J'ai finalement recherché vcr * .dll sur mon lecteur C: et trouvé une copie de vcruntime140.dll dans mon répertoire C:\Program Files\Mozilla Firefox. Donc, en plus d’apporter ces modifications au fichier php.ini:

extension_dir = "ext"
extension=php_intl.dll

J'ai également défini mon chemin d'exécution PATH sur UNIQUEMENT le répertoire PHP (dans mon cas, C:\Program Files\PHP\7.1.7) et le répertoire Firefox (ci-dessus) et cela a finalement fonctionné! Je sais qu'il faut plus que vcruntime140.dll, mais les autres DLL requises doivent également figurer dans le répertoire FF (il y en a quelques dizaines mais je n'ai pas cherché à savoir lesquelles sont essentielles).

0

Dans mon panneau de configuration xampp, cliquez sur config pour ouvrir le fichier php.ini.

retirer ; dans 

; extension = php_intl.dll

Puis redémarrez Apache.

0
nothingchen

/ Digger ici /

Déplacer les fichiers icu*****.dll vers /ext/ semble également résoudre le problème.

(Si vous avez bien sûr spécifié le répertoire des extensions)

0
Diggus

Dans mon cas, ajouter le répertoire PHP à PATH dans un environnement utilisateur ne fonctionnait pas. Après quelques tests, j'ai trouvé qu'il devrait être ajouté à PATH du système (je ne sais pas comment s'appelle cette partie des fenêtres de paramétrage du système, couse j'ai des fenêtres polonaises). 

0
  1. Sous les extensions php de votre serveur, assurez-vous que intl est cochée
  2. vérifiez votre extension_dir dans votre fichier php/v7.0/php pour vous assurer que le répertoire n'est pas commenté et qu'il est précis
  3. (Je ne sais pas si cela a contribué, mais j'ai fait les trois) Dans votre liste d'extension dans le même fichier que 2 ci-dessus, incluez le fichier intl dans le même format que le reste (s'il n'est pas inclus) ..
0
Tower

Le paquet est déjà inclus dans les extensions pourPHP7.2 et supérieur et il vous suffit de supprimer la mise en commentaire de la ligne suivante dans php.ini

extension=intl
0
Basheer Ahmed