For over a day I have been trying to start a CakePHP 3 project. When I run the composer install command, I get the following error:
cakephp/cakephp 3.3.x requires ext-intl * -> the requested PHP extension intl is missing from your system.
I am using MacOS Sierra 10.12.2. XCode and all that jazz are fully up-to-date. I am running PHP 5.6.25 via MAMP Pro 4.0.1 (3985). And I am trying to install CakePHP 3.3.x through my terminal, which is using ZSH instead of Bash.
I've spent quite a while trying to get intl installed. And by now I'm pretty confident that it is indeed installed:
php -m
I see intl
in the list of PHP modules.extension=intl.so
in my php.ini, located in /Applications/MAMP/bin/php/php5.6.25/conf/php.ini
.intl.so
is located in the directory /Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226
.'--enable-intl'
in the Configure Command cell. Further down the page, it has its own table, showing that internationalization is supported with version 1.1.0. However, in this table, for the row intl.default_locale
the value is no value
. Could this be my problem?~/.zshrc
file I have alias php="/Applications/MAMP/bin/php/php5.6.25/bin/php"
so I can be sure I'm using the correct version and installation of PHP.I hope I haven't ruined anything by trying to use so many articles and StackOverflow answers to get this working. I know there are a number of similar intl
questions here, but so far I've had no luck with any answers.
So I suppose here are my two main questions:
intl
extension correctly installed, and why does CakePHP still complain about the extension being missed if it is correctly installed?Thank you!
Thank you to everyone who lent a hand in the comments. But a special thank you to Aman Rawat for pointing me to this answer. I've read through that thread a number of times, but apparently overlooked it.
I added export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH"
to ~/.zshrc
.
I was then able to install CakePHP via composer
.\
I assumed I had MAMP's PHP in my path. I had it as an alias, so php
in terminal would correctly point to MAMP's PHP install, but it turns out that PHP was never actually in my PATH.
Oops!