CakePHP 3.0安装:系统缺少intl扩展

Jua*_*los 63 cakephp composer-php cakephp-3.0

使用CakePHP文档,我试图使用composer安装3.0-beta2,但是我遇到了这个错误:

cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system

但是,我确信安装了intl(它显示在phpinfo上).我正在使用PHP 5.4.33/Apache 2.4.10.1

提前感谢您提供的任何想法.

Tij*_*jme 113

我今天遇到了同样的问题.您需要在PHP配置中启用intl PHP扩展(.ini).

解决方案Xampp(Windows)

  1. 打开 /xampp/php/php.ini
  2. 更改;extension=php_intl.dllextension=php_intl.dll(删除分号)
  3. 将所有/xamp/php/ic*.dll文件复制到/xampp/apache/bin
  4. 在Xampp控制面板中重新启动apache

解决方案Linux(感谢Annamalai Somasundaram)

  1. 安装php5-intl扩展 sudo apt-get install php5-intl

    1.1.或者,sudo yum install php5-intl如果您使用的是CentOS或Fedora,请使用.

  2. 重启apache sudo service apache2 restart

解决方案Mac/OSX(自制软件)(感谢deizel)

  1. 安装php5-intl扩展 brew install php56-intl
  2. 如果您No available formula for php56-intl遵循这些说明.
  3. 重启apache sudo apachectl restart

最终你可以运行composer install检查它是否正常工作.如果不是,它会给出错误.

  • 它在我的系统中也没有步骤3. (6认同)
  • 在Mac OS上,如果你得到"No available formula",你可以运行`brew tap homebrew/homebrew-php`,然后再运行它. (2认同)

AnN*_*LaI 14

我在ubuntu 12.04中遇到了同样的问题

安装: sudo apt-get install php5-intl

重启了 Apache: sudo service apache2 restart


dei*_*zel 8

OS X Homebrew(2015年5月):

intl扩展已经被从主删除php5x公式,让你不再与编译--enable-intl标志.

如果找不到新包装:

$ brew install php56-intl
Error: No available formula for php56-intl
Run Code Online (Sandbox Code Playgroud)

请遵循以下说明:https://github.com/Homebrew/homebrew-php/issues/1701

$ brew install php56-intl
==> Installing php56-intl from homebrew/homebrew-php
Run Code Online (Sandbox Code Playgroud)


Gil*_*lko 7

使用MAMP时

1转到终端

vim ~/.bash_profile

i

export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

将php5.6.2更改为与MAMP一起使用的php版本

按ESC,键入:wq,按Enter键

source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

哪个php

2安装Mac端口

https://www.macports.org/install.php

sudo port install php5-intl 要么 sudo port install php53-intl

cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/

{take a good look at the folder names that u use the right ones}
Run Code Online (Sandbox Code Playgroud)

3添加扩展名

现在,将扩展名添加到您的php.ini文件中:

extension=intl.so
Run Code Online (Sandbox Code Playgroud)

有用的链接: https ://gist.github.com/irazasyed/5987693


Jua*_*los 2

简短回答:在 php_cli.ini 中激活 intl 扩展。感谢@ndm 的意见。