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)
- 打开
/xampp/php/php.ini
- 更改
;extension=php_intl.dll
extension=php_intl.dll
(删除分号) - 将所有
/xamp/php/ic*.dll
文件复制到/xampp/apache/bin
- 在Xampp控制面板中重新启动Apache
解决schemeLinux (感谢Annamalai Somasundaram)
-
安装php5-intl扩展
sudo apt-get install php5-intl
1.1。 如果您在CentOS或Fedora上,也可以使用
sudo yum install php5-intl
。 -
重启apache
sudo service apache2 restart
解决schemeMac / OSX (homebrew) (感谢deizel)
- 安装php5-intl扩展
brew install php56-intl
- 如果你得到
No available formula for php56-intl
按照这些说明。 - 重新启动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