CakePHP 3.0安装:系统缺lessintl扩展

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

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

预先感谢您提供的任何想法。

我今天面对同样的问题。 您需要在PHPconfiguration( .ini )中启用intl PHP扩展。

解决schemeXampp(Windows)

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

解决schemeLinux (感谢Annamalai Somasundaram)

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

    1.1。 如果您在CentOS或Fedora上,也可以使用sudo yum install php5-intl

  2. 重启apache sudo service apache2 restart

解决schemeMac / OSX (homebrew) (感谢deizel)

  1. 安装php5-intl扩展brew install php56-intl
  2. 如果你得到No available formula for php56-intl按照这些说明。
  3. 重新启动apache sudo apachectl restart

最后你可以运行composer install来检查它是否工作。

我在Ubuntu 12.04面临同样的问题

安装: sudo apt-get install php5-intl

重启Apache: sudo service apache2 restart

OS X Homebrew(2015年5月):

intl扩展名已从主php5x公式中移除,因此不再使用--enable-intl标志进行编译。

如果您找不到新的软件包:

 $ brew install php56-intl Error: No available formula for php56-intl 

按照这些说明: https : //github.com/Homebrew/homebrew-php/issues/1701

 $ brew install php56-intl ==> Installing php56-intl from homebrew/homebrew-php 

使用MAMP时

1转到terminal

 vim ~/.bash_profile i export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH 

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

按ESC,input:wq ,按回车

 source ~/.bash_profile 

哪个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} 

3添加扩展名

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

 extension=intl.so 

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

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

对于Ubuntuterminal:

请按照以下步骤操作:

步骤1:

cd〜

步骤-2:运行以下命令

sudo apt-get install php5-intl

步骤-3:然后您需要重新启动Apache

sudo服务apache2重启


对于Windows(XAMPP):

findPhp.ini文件:

/xampp/php/php.ini

使用remove(;)分号更新php.ini文件,如下所述:

; extension = php_intl.dll 扩展名= php_intl.dll

并保存php.ini文件。

之后,你需要

使用xampp控件重新启动xampp

做这个

在XAMPP中,包含intl扩展名,但是您必须在php.ini中取消对extension = php_intl.dll的注释,并通过XAMPP控制面板重新启动服务器。 在WAMP中,intl扩展默认为“激活”,但不工作。 为了使它工作,你必须去php文件夹(默认情况下)C:\ wamp \ bin \ php \ php {版本},复制所有看起来像icu * .dll文件并将其粘贴到Apache bin目录C: \ WAMP \ BIN \ apache的\ apache的{}版本\ BIN。 然后重新启动所有的服务,它应该是确定的。

如果您使用XAMPP,请执行以下操作1.closuresXAMPP 2.修改php.ini位于c /:xampp / php / php.ini 3.包含intl扩展名,但您必须在php中取消对extension = php_intl.dll的注释。 ini并通过XAMPP控制面板重新启动服务器。

在我的情况下,我实际上并没有尝试在本地运行cakephp,我只是试图让它使用composer php本地自动更新(因为我正在玩与你composer php安装插件)。 由于我实际上甚至没有在本地运行,我可以通过添加–ignore-platform-reqs标志来简单地忽略要求。

php composer.phar update --ignore-platform-reqs

Intl手段:国际化扩展,使程序员能够在PHP脚本中执行符合UCA的整理和数字,货币,date和时间格式。

可以使用PECL启用PHP Intl。

 pecl install intl 

在一个普通的RHEL / CentOS / Fedora上,可以使用yum来安装PHP Intl

 yum install php-intl 

在Ubuntu上,可以使用apt-get安装PHP Intl

  apt-get install php5-intl 

重新启动Apache服务以使更改生效。

而已

对于那些谁Package not found错误尝试sudo apt-get install php7-intl然后运行composer install在您的项目目录。

我在Windows中有同样的问题错误是,我已经安装了几个版本的PHP和环境variables被路由到错误的pathphp 看图像的例子

错误信息清楚地说明了问题所在。 您需要安装intl扩展。

第1步:安装PHP intl你舒适的版本

$ sudo apt-get install php-intl

第2步:

对于XAMPP服务器已经安装了intl扩展,你需要启用这个扩展名来取消php.ini文件中的下面的行。 Php.ini文件位于c:\ xampp \ php \ php.ini或您安装了XAMPP的位置。

在取消注释之前:

;扩展名= php_intl.dll;扩展名= php_mbstring.dll

取消注释后:

扩展名= php_intl.dll扩展名= php_mbstring.dll