web-dev-qa-db-fra.com

Mac OS: l'extension Intl n'est pas chargée

  • macOS Mojave 10.14.3
  • PHP 7.1.23
  • Prestashop 1.7.5.1

J'ai essayé d'installer PHP extension intl sur mon serveur local afin d'utiliser Prestashop.

J'ai ajouté extension=php_intl.so À etc/php.ini

Lorsque j'essaie d'installer Prestashop, j'obtiens Intl extension is not loaded.

$ php -m | grep intl

Quand je fais $ php -m | grep intl, J'obtiens:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/pecl/20160303/php_intl.so' - d lopen(/usr/local/lib/php/pecl/20160303/php_intl.so, 9): image not found in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/pecl/20160303/php_intl.so' - dlopen (/usr/local/lib/php/pecl/20160303/php_intl.so, 9): image not found in Unknown on line 0 intl

Il semble que le fichier php_intl.so N'existe pas.

$ Sudo pecl install intl

J'ai également essayé $ Sudo pecl install intl Et j'obtiens:

make: *** [php_intl.lo] Error 1 ERROR: Échoue

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

J'ai également essayé $ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1 Et il ne crée pas le fichier intl.so.


Comment puis-je résoudre ce problème?

9
Aliz

Il pourrait y avoir un problème avec brew

Vous pouvez essayer de l'utiliser comme mentionné ici:

brew tap kyslik/homebrew-php

installer brew kyslik/php/php71-intl

0
Siad Ardroumli

Ainsi, sur le site officiel de Pecl ( https://pecl.php.net/package/intl ), il est clair que le package Intl n'est plus maintenu et a été remplacé. Depuis PHP 5.3.0 vous n'avez pas besoin d'utiliser Pecl pour installer l'extension intl, il est fourni avec PHP.

Mais, il manque sur l'instalation native de PHP 7.1.24 sur Mac OS Mojave.

si vous souhaitez utiliser uniquement Apache et php natif pré-installés au lieu d'utiliser homebrew, procédez comme suit:

Téléchargez PHP 7.1 depuis php.net, installez les outils de ligne de commande XCode, ICU ( http://site.icu-project.org/ ), Autoconf, réinstallez les fichiers d'en-tête des outils de développement et enfin installez l'extension Intl à l'aide de phpize.

Important: vous devrez désactiver SIP.

0
Gabriel Souto

J'ai vu beaucoup de réponses à ce problème et n'importe qui m'a aidé, mais la dernière (bien sûr). Ceci est à l'usage de XAMPP.

Xcode est nécessaire. Téléchargez la version de php que vous utilisez dans xampp depuis php.net. Extrayez-le et ouvrez le dossier extrait dans un terminal à l'aide de cd. Passez au sous-dossier ext/intl. Exécutez ces commandes pour créer l'extension:

/Applications/XAMPP/bin/phpize
./configure --enable-intl --with-php-config=/Applications/XAMPP/bin/php-config --with-icu-dir=/Applications/XAMPP/xamppfiles/
make
Sudo make install (password required)

Supprimez tous les fichiers que vous avez téléchargés ainsi que les dossiers extraits. Ajouter au fichier php.ini dans la ligne du dossier xampp/etc

extension="intl.so"

Lien d'origine: https://community.apachefriends.org/viewtopic.php?p=255061&sid=27afc55649dfe6ea7b0824cb0bb8486b

0
Alejo

j'ai essayé tout mais intl ne fonctionnait pas dans mac donc veuillez désinstaller xampp et installer mamp cela fonctionnera

0
Rahul Tathod