J'essaye d'installer Magento (2.3.0) sur macOS Mojave. Magento montre que PHP Extension intl.
est manquant.
J'ai essayé ce qui suit pour résoudre:
cp /etc/php.ini.default php.ini
extension = php_intl.dll
sudo apachectl restart
Mais ce qui précède n'a pas résolu.
En vérifiant php -v
, je vois l'erreur ci-dessous:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl.dll' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl.dll, 0x0009): dlopen(): file not found: /usr/lib/php/extensions/no-debug- non-zts-20160303/php_intl.dll in Unknown on line 0 PHP 7.1.19 (cli) (built: Aug 17 2018 20:10:18) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
Il n'y a que 2 fichiers sous / usr / lib / php / extensions / no-debug-non-zts-20160303 à savoir opache.so
et xdebug.so
Comment puis-je installer ou activer "PHP Extension intl" sur mon macOS Mojave?
4 Réponses :
Voici une solution qui a fonctionné pour moi:
liste de brassage | grep php
brew remove --ignore-dependencies --force php70 php71 php72
(en fonction de ce que vous voyez ci-dessus) brew install php72
(j'ai choisi 7.2, 7.3 n'est pas encore pris en charge par plusieurs fournisseurs) quel php
devrait vous montrer le chemin vers le PHP installé. Copiez le chemin. vi ~ / .bash_profile
et ajoutez cette ligne au fichier:
export PATH = / usr / local / php5 / bin: $ PATH
source ~ / .bash_profile
php -m | grep intl
. Si l'installation s'est bien déroulée, nous verrons intl répertorié. Sinon, l'extension n'est pas installée. Je pense qu'à partir de PHP 7 (pas sûr de la version), les extensions sont disponibles par défaut et nous n'avons pas besoin de les activer explicitement dans le fichier php.ini .
Réponse utile, mais je ne pense pas que l'ajout de export PATH = / usr / local / php5 / bin: $ PATH
dans .bash_profile
est nécessaire? J'ai installé PHP avec brew
et il n'y a pas de répertoire / usr / local / php5
sur ma machine.
J'ai obtenu l'aide du lien et j'ai pu compiler https: // donatstudios.com/Install-PHP-Mcrypt-Extension-in-OS-X
Ensuite, nous allons télécharger la source PHP. Vérifiez la version exacte de PHP que vous utilisez. Cela peut être récupéré comme suit. La version est en surbrillance.
$ php --version PHP 7.1.19 (cli) (built: Aug 17 2018 18:03:17) ( NTS ) Copyright (c) 1997-2018 The PHP Group Now we move into a working directory and download the source making sure to update the following for the version from above. $ cd /tmp $ curl -L http://php.net/get/php-{{php-version}}.tar.bz2/from/this/mirror > php.tar.bz2 $ open php.tar.bz2 Now we will compile and test the extension. $ cd php-{{php-version}}/ext/{{extension}} $ phpize $ ./configure $ make $ make test $ sudo make install If all that goes well finally we'll need to add the following to our php.ini - I usually add at it at the end of the file. extension = {{extension}} .so You can verify your installation with the following: $ php --info | grep {{extension}}\\. Lastly, depending on your setup now you may want to restart apache. $ sudo apachectl restart
Si vous avez installé le php de Homebrew, le lier à un répertoire dans votre chemin résoudra le problème.
lien de brassage --force php@7.3
J'ai eu le même problème et cela l'a résolu.
Voici un lien où j'ai obtenu une réponse détaillée de p >
Le module PHP 7.x déjà inclus PHP-Intl, veuillez installer PHP via homebrew.
brew install php
vi ~ / .bash_profile
ou vi ~ / .zshrc
et placez la ligne dans le fichier /usr/local/Cellar/php@7.2 /7.2.22_1/bin
. source ~ / .bash_profile
ou source ~ / .zshrc
L'exemple ci-dessus, j'utilise PHP version 7.2. Si vous utilisez une autre version de PHP, changez le répertoire PHP dans le répertoire Cellar.
php -v
, assurez-vous que la version affichée est la même que celle que vous avez installée. php -m
ou php -m | grep intl
C'est fait!
extension = php_intl.dll
doit êtreextension = php_intl.so
, car ce n'est pas Windows.Merci. J'ai essayé cela, mais même problème
al-OSX: sbin konathal $ php -i | grep intl Avertissement PHP: Démarrage PHP: Impossible de charger la bibliothèque dynamique '/usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl. so' - dlopen (/ usr / lib / php / extensions / no-debug-non-zts-20160303 / php _intl.so, 0x0009): dlopen (): fichier introuvable: /usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl.s O en Inconnu sur la ligne 0
Copie possible de Installer l'extension PHP intl OSX High Sierra