PHP 国际扩展已安装,但 CakePHP 安装说它丢失

PHP intl extension is installed, but CakePHP install says it is missing

一天多以来,我一直在尝试启动 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) 运行ning PHP 5.6.25。我正在尝试通过我的终端安装 CakePHP 3.3.x,它使用 ZSH 而不是 Bash.

我花了很长时间尝试安装 intl。到现在为止,我非常有信心它确实已安装:

  1. 当我 运行 php -m 我在 PHP 模块列表中看到 intl
  2. 我的 php.ini 中有 extension=intl.so,位于 /Applications/MAMP/bin/php/php5.6.25/conf/php.ini
  3. 文件 intl.so 位于目录 /Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226
  4. 在 MAMP 的 phpinfo 页面上,我可以在 Configure Command 单元格中看到 '--enable-intl'。在页面的下方,它有自己的 table,表明 1.1.0 版支持国际化。但是,在此 table 中,第 intl.default_locale 行的值为 no value。这可能是我的问题吗?
  5. 在我的 ~/.zshrc 文件中有 alias php="/Applications/MAMP/bin/php/php5.6.25/bin/php",所以我可以确定我使用的 PHP.
  6. 的版本和安装是正确的

我希望我没有因为尝试使用如此多的文章和 Whosebug 答案来使它正常工作而毁掉任何东西。我知道这里有很多类似的 intl 问题,但到目前为止我还没有找到任何答案。

所以我想这是我的两个主要问题:

  1. 我上面列出的证据是否足以表明我确实正确安装了 intl 扩展,为什么 CakePHP 仍然抱怨扩展已正确安装?
  2. 如果安装不正确,我该如何更正并安装 CakePHP?

谢谢!

感谢所有在评论中伸出援手的人。但要特别感谢 Aman Rawat for pointing me to this answer。我已经多次阅读该线程,但显然忽略了它。

我将 export PATH="/Applications/MAMP/bin/php/php5.6.25/bin:$PATH" 添加到 ~/.zshrc

然后我可以通过 composer 安装 CakePHP。\

我以为我的路径中有 MAMP 的 PHP。我把它作为别名,所以终端中的 php 会正确地指向 MAMP 的 PHP 安装,但事实证明 PHP 实际上从来没有在我的路径中。

糟糕!

I think you have not enabled intl extension from php.ini file.