I'm trying to install Magento (2.3.0) on macOS Mojave. Magento shows PHP Extension intl.
is missing.
I tried the below to resolve:
cp /etc/php.ini.default php.ini
extension=php_intl.dll
sudo apachectl restart
But the above did not resolve.
On checking php -v
, i'm seeing the below error:
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
There are only 2 files under /usr/lib/php/extensions/no-debug-non-zts-20160303
namely opache.so
and xdebug.so
How can i install or enable "PHP Extension intl" on my macOS Mojave?
Here's a solution that worked for me:
brew list | grep php
brew list | grep php
brew remove --ignore-dependencies --force php70 php71 php72
(based on what you see above)brew install php72
(i chose 7.2, 7.3 is not supported yet by several vendors)which php
should show you the path to the installed PHP. Copy the path.vi ~/.bash_profile
and add this line to the file: export PATH=/usr/local/php5/bin:$PATH
source ~/.bash_profile
php -m | grep intl
php -m | grep intl
. If the installation went well, we will see intl listed. If not the extension is not installed.I think from PHP 7 (not sure of the version), the extensions are available by default and we need not enable them in php.ini file explicitly.
If you installed Homebrew's php, linking it to a directory in your path will fix the issue. brew link --force php@7.3
I had the same issue and that fixed it. Here is a link where I got a detailed answer from
Got help from the link and able to compile https://donatstudios.com/Install-PHP-Mcrypt-Extension-in-OS-X
Next we will download the PHP source. Verify the exact version of PHP you are running. This can be retrieved as follows. The version is highlighted.
$ 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
The PHP 7.x already included module PHP-Intl, please install PHP through homebrew.
brew install php
vi ~/.bash_profile
or vi ~/.zshrc
, and put the line into the file /usr/local/Cellar/php@7.2/7.2.22_1/bin
.source ~/.bash_profile
or source ~/.zshrc
The example above, I'm using PHP version 7.2. If you using another PHP version, change the PHP directory in Cellar directory.
php -v
, make sure the version displayed is the same as the one you installed.php -m
or php -m | grep intl
php -m | grep intl
Done!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.