一天以来,我一直在尝试启动CakePHP 3项目。当我运行composer install命令时,出现以下错误:
cakephp/cakephp 3.3.x requires ext-intl * -> the requested PHP extension intl is missing from your system.
我正在使用MacOS Sierra 10.12.2。 XCode和所有爵士乐都是最新的。我通过MAMP Pro 4.0.1(3985)运行PHP 5.6.25。我正在尝试通过我的终端安装CakePHP 3.3.x,它使用的是ZSH而不是Bash。
我花了很长时间尝试安装intl。到现在为止,我确信它确实安装了:
php -m
时,我在PHP模块列表中看到intl
。extension=intl.so
,位于/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
。intl.so
位于目录/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226
。'--enable-intl'
。在页面的下方,它有自己的表,显示版本1.1.0支持国际化。但是,在此表中,对于行intl.default_locale
,值为no value
。这可能是我的问题吗?~/.zshrc
文件中我有alias php="/Applications/MAMP/bin/php/php5.6.25/bin/php"
所以我可以确定我使用的是正确版本和PHP安装。我希望我没有通过尝试使用这么多文章和StackOverflow答案来破坏任何东西。我知道这里有一些类似的intl
问题,但到目前为止,我对任何答案都没有运气。
所以我认为这是我的两个主要问题:
intl
扩展名,为什么CakePHP仍然会抱怨如果正确安装了扩展程序?谢谢!
答案 0 :(得分:4)
感谢所有参与评论的人。但特别感谢Aman Rawat向我指出this answer。我已多次阅读该帖子,但显然忽略了它。
我将export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH"
添加到~/.zshrc
。
然后我可以通过composer
安装CakePHP。\
我以为我的路上有MAMP的PHP。我把它作为别名,所以终端中的php
会正确地指向MAMP的PHP安装,但事实证明PHP实际上从未在我的PATH中。
糟糕!
答案 1 :(得分:0)
我认为您尚未从php.ini文件启用intl扩展名。