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:
- When I run
php -m
I seeintl
in the list of PHP modules. - I have
extension=intl.so
in my php.ini, located in/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
. - The file
intl.so
is located in the directory/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226
. - On MAMP's phpinfo page I can see
'--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 rowintl.default_locale
the value isno value
. Could this be my problem? - In my
~/.zshrc
file I havealias 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:
- Is the evidence I listed above enough to suggest I truly have the
intl
extension correctly installed, and why does CakePHP still complain about the extension being missed if it is correctly installed? - If it is not correctly installed, how can I correct this and get CakePHP to install?
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!